Java:用什么数据结构来模仿PHP的关联数组?

时间:2009-10-08 03:15:23

标签: java php associative-array data-structures

我想要一个允许我将键映射到值的数据结构,比如PHP的关联数组。每个键只能存在一次,但值可以映射到任意数量的键。我在找什么? Google Commons Collections中的东西?

4 个答案:

答案 0 :(得分:7)

Map结构就是你想要的。一个很好的实现是HashMap

此数据类型不允许使用相同的Key值,但您可以拥有任意数量的重复值。

使用示例:

Map<String, String> map = new HashMap<String, String>();
map.put("FirstName", "LastName");

System.out.println(map.get("FirstName")); // Prints 'LastName'
System.out.println(map.put("FirstName", "Foo")); // Prints 'LastName'
System.out.println(map.get("FirstName")); // Prints 'Foo'

换句话说,密钥只能存在一次。否则,该值将被覆盖。

答案 1 :(得分:4)

您正在寻找HashMap,例如HashMap<K,V>。前者将对象映射到对象,后者映射您选择的类型(与其他泛型一样)。

答案 2 :(得分:0)

常规HashMap有什么问题?如果您的值是字符串,您将免费获得引用计数,如果您需要引用特定的对象实例,则不要分配一个,但使用现有引用

答案 3 :(得分:0)

HashMap是确定的方法。当我第一次开始用PHP编码时,我实际上是在反过来看待事物。我想知道,我如何实现HashMap?然后我发现了关联数组。