web-dev-qa-db-ja.com

Java Stringをインデックス配列キーとして使用できますか?(例:array ["a"] = 1;)

Java Stringをインデックス配列キーとして使用できますか?例:

array["a"] = 1;
44
Jaynova

いや.

このようなことをするには、マップを使用する必要があります。

Map<String, Integer> aMap = new HashMap<String, Integer>();
aMap.put("a" , Integer.valueOf(1));
76
Kal

いいえ-それを行うにはマップが必要です:

_Map<String, Integer> map = new HashMap<>();
map.put("a", 2);
_

それを取得するには:

_int val = map.get("a"); //2
_

角括弧構文は配列に対してのみ使用でき、コレクションには使用できません。のようなもの:

_int val = map["a"]; //Compile error
_

常に違法です。 get()メソッドを使用する必要があります。

39
Michael Berry

いいえ、Javaでは Map になります。

(タイプはMap<String,Integer>。)

15
Johannes Weiss

いいえ、できません。ただし、文字を使用できます。ASCIIアルファベットの値がキーインデックスとして使用されます

検討する

    String[] a = new String['a' + 1];
    a['a'] = "Hello";
    int[] b = new int['a' + 3];
    b['c'] = 5;

    System.out.println(a[97]);
    System.out.print(b[99]);

これは出力されます

Hello
5
6
goonerify