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

Nic*_*ner 3 php java associative-array data-structures

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

jjn*_*guy 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'
Run Code Online (Sandbox Code Playgroud)

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

  • 不,"Map <K,V>"就是他想要的.密钥只能存在一次,但是值可以映射到任意数量的密钥.所以在`("Foo"=> foo,"Bar"=> bar,"Baz"= foo)`的情况下,键"Foo"和"Baz"是唯一的,但它们映射到相同的值,foo . (2认同)