【发布时间】:2011-11-28 20:43:20
【问题描述】:
在 PHP 中,我可以使用带有字符串作为键的数组。例如 $some_array["cat"] = 123; $some_array["狗"] = 456; 我刚刚切换到 Java,但找不到能够执行此操作的数据结构。这可能吗?
【问题讨论】:
标签: java php arrays string associative-array
在 PHP 中,我可以使用带有字符串作为键的数组。例如 $some_array["cat"] = 123; $some_array["狗"] = 456; 我刚刚切换到 Java,但找不到能够执行此操作的数据结构。这可能吗?
【问题讨论】:
标签: java php arrays string associative-array
您所描述的是associative array,也称为表、字典或地图。
在 Java 中,您需要 Map 接口,并且可能需要 HashMap 类作为实现。
Map<String, Integer> myMap = new HashMap<String, Integer>();
myMap.put("cat", 123);
Integer value = myMap.get("cat"); //123
【讨论】:
你要的数据结构是Map。我相信它是一个抽象类,所以你必须使用它的一个具体子类,比如HashMap<?>
【讨论】:
正如许多人所说,您正在寻找地图。如果这是您的选择,请不要忘记重新实现 hashcode() 和 equals()。看一看,因为是必须的:http://www.ibm.com/developerworks/java/library/j-jtp05273/index.html
【讨论】: