電子書籍の厳選無料作品が豊富!

javaのinteger型のキーを持つmapをint型の変数で値を呼び出す、または同じ変数でint型からintegerに変換する方法はあるのでしょうか?
宜しくお願いします。

質問者からの補足コメント

  • クラス型のIntegerです

    No.1の回答に寄せられた補足コメントです。 補足日時:2021/04/15 00:10
  • 回答ありがとうございます。
    boxingはひとつの変数だけで簡潔させる方法はあるのでしょうか?
    例intのAという変数をIntegerのAという変数に変換する

    それともIntegerとして使用したい時だけInteger.valueOf(A)ということでしょうか?

    No.3の回答に寄せられた補足コメントです。 補足日時:2021/04/15 13:40
  • うーん・・・

    試したところ今度はgetValueがIntegerに適用できないとなります。get元のmapのキーはInteger型なのでgetがIntegerに対応してないということでしょうか?
    putはintのままでもエラーなくできています。

      補足日時:2021/04/15 13:58
  • int A = 1;
    HashMap<Integer, String> trymap = new HashMap<>();
    trymap.put(1,"apple");
    trymap.put(2,"carrot");
    trymap.put(3,"orenge");
    trymap.put(4,"potato");
    System.out.println("果物は");
    for(HashMap.Entry<Integer, String> b:trymap.entrySet()){
    System.out.println(b.getValue(Integer.valueOf(a)));
    System.out.println(b.getValue(Integer.valueOf(a)));
    }

    No.4の回答に寄せられた補足コメントです。 補足日時:2021/04/15 16:25
  • 以上だと
    getValue(Integer)に適用できないと言われ、教えていただいた
    System.out.println(map.get(a));
    だとmapで未定義だと言われます。
    条件は変数aを使う、entrySetメソッドを使用する、拡張for文を使用して出力する
    です。

      補足日時:2021/04/15 16:26
  • すいません変数aは変数Aのことです。手入力したので間違ってました。
    テキストにはentrySetはキーと値のセットを取得と記載されていてそこからgetKeyでキーをgetValueで値を取り出すとなっていたのですが私の解釈違いなのですね。

    No.5の回答に寄せられた補足コメントです。 補足日時:2021/04/15 17:58
  • //entrySetを使用してMapに含まれる要素の「キー/値」のセットを取得

    と記載されています。その後getKeyでキーをgetValueで値を出力するコードが例でのっています。


    System.out.println(b.getValue(Integer.valueOf(A)));
    System.out.println(b.getValue(Integer.valueOf(A+2)));
    ですね。
    値だけを取り出すのであれば拡張for文を使う場合はfor(HashMapEntry‹Integer,String› b:trymap.entryset())
    だとbにはキーにnull、値はそのまま値が順番に格納されているのでしょうか?

    No.6の回答に寄せられた補足コメントです。 補足日時:2021/04/15 22:26
  • その他の部分は前途の補足に記載しております。(import やpublic static void main等を除く)
    HashMap、Mapどちらでもエラーなく、その部分は正常に結果がでていたのでそのままにしていました。

    No.7の回答に寄せられた補足コメントです。 補足日時:2021/04/15 23:53
  • int A = 1;
    HashMap<Integer, String> trymap = new HashMap<>();
    trymap.put(1,"apple");
    trymap.put(2,"carrot");
    trymap.put(3,"orenge");
    trymap.put(4,"potato");
    System.out.println("果物は");
    for(HashMap.Entry<Integer, String> b:trymap.entrySet()){
    System.out.println(b.getValue(Integer.valueOf(A)));
    System.out.println(b.getValue(Integer.valueOf(A+2)));
    }

    No.8の回答に寄せられた補足コメントです。 補足日時:2021/04/16 10:03
  • 文字制限につきクラスやインポートは省略、最後のprintlnの部分を
    b.getValue(valueOf(A))
    〉〉メソッドvalueOf(int)は型testで未定義です
    b.get(Integer.valueOf(A))
    〉〉メソッドget(Integer)は型HashMap.Entry‹Integer,String›で未定義です
    b.get(A)
    〉〉メソッドget(int)は型HashMap.Entry‹Integer,String›で未定義です
    trymap.get(A) + trymap.get(A+2)
    break;
    〉〉正常に動作及び結果
    breakを使わず、bとAを使い果物(Mapの値)だけを出力したいです。
    単純に正常に動くコードのtrymapをbに置換すると
    メソッドget(int)は型HashMap.Entry‹Integer,String›で未定義です
    とでる

      補足日時:2021/04/16 10:22

A 回答 (11件中11~11件)

いちおうかくにんですが


integer
ってなんでしょうか.
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!