Java可以使用String作为索引数组键吗?例如:
array["a"] = 1;
答案 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