我在 PHP 中有这种结构,但我不确定如何将它翻译成 Java,我需要提一下所有键和值都是字符串。
如需积分,请举例说明
private $group = array(
"group1" = array("item1","item2"),
"group2" = array("item3","item4"),
....
"groupn" = array("itemn","itemn+1"),
....
);
Map<String, List<String>> group = new LinkedHashMap<String, List<String>>();
group.put("group1", new ArrayList<String>(Arrays.asList("item1", "item2")));
group.put("group2", new ArrayList<String>(Arrays.asList("item3", "item4")));
在 php 中,如果您使用 foreach 遍历元素
foreach ($group as $key => $subarray)
您可以保证第一个 $key 是“group1”,因为 php 数组是按密钥创建时间隐式排序的。如果你想在 java 中得到同样的保证,你必须使用LinkedHashMap
. 否则一个普通HashMap
的就可以了。
HashMap<String, ArrayList<String>> map = new HashMap<String, ArrayList<String>>();
ArrayList<String> list = new ArrayList<String>();
list.add("item1");
list.add("item2");
map.add("group1", list);
等等...
使用Map<String, Collection<String>>
. 如果集合中的值是唯一的,则使用 a Set
,否则使用 a List
。
您可以使用 aMap
作为您的解决方案:
Map<String, List<String>> map = new HashMap<String, List<String>>();
map.put("group1", Arrays.asList("item1", "item2", "item3");
ETC...