我想要一个允许我将键映射到值的数据结构,比如PHP的关联数组。每个键只能存在一次,但值可以映射到任意数量的键。我在找什么? Google Commons Collections中的东西?
答案 0 :(得分:7)
此数据类型不允许使用相同的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?然后我发现了关联数组。