繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM