【发布时间】:2011-05-26 19:59:43
【问题描述】:
这样的 php 数组的 Java 等效项是什么:
$user = array("name" => "John", "email" => "john@mail.com");
【问题讨论】:
这样的 php 数组的 Java 等效项是什么:
$user = array("name" => "John", "email" => "john@mail.com");
【问题讨论】:
您可以使用HashMap 或Hashtable。不确定使用哪一个?阅读 API 或查看this question,其中讨论了每种方法的优缺点。
HashMap<String, String> map = new HashMap<String, String>();
map.put("name", "John");
map.put("email", "john@mail.com");
【讨论】:
我建议你使用 LinkedHashMap。与 HashMap 相比,它的主要优势在于它保留了添加键的顺序。对于 HashMap,它们以伪随机顺序出现,这使得阅读它们变得更加困难。
Map<String, String> map = new LinkedHashMap<String, String>();
map.put("name", "John");
map.put("email", "john@mail.com");
【讨论】:
请记住,PHP 的关联数组会跟踪它们的插入顺序。因此,如果您使用 foreach 来遍历它们的键,您将按照相同的顺序获取它们。
最接近的 Java 等价物可能是 LinkedHashMap。
【讨论】:
Map 接口的实现是关联数组的 Java 等价物,但看起来您真正想要的是一个包含名称和电子邮件字段的 User 类。
【讨论】:
Map user = new HashMap();
user.put("name", "John");
user.put("email", "john@mail.com");
【讨论】:
它叫做 java.util.HashMap
【讨论】: