[英]Java: What data structure to use to imitate PHP's associative arrays?
我想要一个允许我将键映射到值的数据结构,比如PHP的关联数组。 每个键只能存在一次,但值可以映射到任意数量的键。 我在找什么? Google Commons Collections中有什么东西?
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'
换句话说,密钥只能存在一次。 否则,该值将被覆盖。
您正在寻找HashMap ,例如HashMap<K,V>
。 前者将对象映射到对象,后者映射您选择的类型(与其他泛型一样)。
常规HashMap有什么问题? 如果您的值是字符串,您将免费获得引用计数,如果您需要引用特定的对象实例,则不要分配一个,但使用现有引用
HashMap是确定的方法。 当我第一次开始用PHP编码时,我实际上是在反过来看待事物。 我想知道,我如何实现HashMap? 然后我发现了关联数组。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.