Java可以使用String作为索引数组键吗? (例如:array [“a”] = 1;)

时间:2011-08-04 14:50:33

标签: java arrays map

Java可以使用String作为索引数组键吗?例如:

array["a"] = 1;

4 个答案:

答案 0 :(得分:74)

没有

要做这样的事情,你必须使用Map。

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

答案 1 :(得分:36)

不 - 你想要一张地图来做到这一点:

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

然后得到它:

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

您只能对数组使用方括号语法,而不能对任何集合使用方括号语法。如下所示:

int val = map["a"]; //Compile error

永远是非法的。您必须使用get()方法。

答案 2 :(得分:15)

不,这将是Java中的Map

(类型为Map<String,Integer>。)

答案 3 :(得分:6)

不,他们不能。但是他们可以使用字符将字母表的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