使用非数字键的PHP数组的Java等价物是什么?

时间:2010-12-16 22:02:16

标签: java php arrays hashmap

像这样的PHP数组的Java等价物是什么:

$user = array("name" => "John", "email" => "john@mail.com");

7 个答案:

答案 0 :(得分:7)

您可以使用HashMapHashtable。不确定使用哪一个?阅读API或查看this question,其中讨论了每种API的优缺点。

HashMap<String, String> map = new HashMap<String, String>();
map.put("name", "John");
map.put("email", "john@mail.com");

答案 1 :(得分:6)

Map接口的实现是Java等效的关联数组,但看起来你真正想要的是一个带有名称和电子邮件字段的User类。

答案 2 :(得分:6)

请记住,PHP的关联数组会跟踪它们的插入顺序。因此,如果您使用foreach迭代其键,您将按相同的顺序获取它们。

最接近的Java等价物可能是LinkedHashMap

答案 3 :(得分:3)

我建议你使用LinkedHashMap。它优于HashMap的主要优点是它保留了添加键的顺序。对于HashMap,它们以伪随机顺序出现,这使得阅读它们变得更加困难。

Map<String, String> map = new LinkedHashMap<String, String>();
map.put("name", "John");
map.put("email", "john@mail.com");

答案 4 :(得分:2)

它叫做java.util.HashMap

答案 5 :(得分:1)

答案 6 :(得分:1)

Map user = new HashMap();
user.put("name", "John");
user.put("email", "john@mail.com");