3

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

4

4 回答 4

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'

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

于 2009-10-08T03:17:12.903 回答
4

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

于 2009-10-08T03:16:28.373 回答
0

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

于 2009-10-08T03:18:40.990 回答
0

HashMap 肯定是要走的路。实际上,当我第一次开始使用 PHP 编码时,我的看法是相反的。我想知道,如何实现 HashMap?然后我发现了关联数组。

于 2009-10-08T04:28:36.847 回答