将多个组存储到集合中
Store multiple groups into collection
我需要将几个按关键字分组的条目存储到一个集合中。
- 第 1 组
- 条目 1
- 条目 2
- 组2
- 条目 3
- 条目 4
- 条目 5
- 第 3 组
- 条目 6
- 条目 7
所以我想,我需要这样的结构
[group1[entry1,entry2],group2[entry3,entry4,entry5],group3[entry6,entry7]]
嵌套数组是正确的选择吗?
你可以使用 Map
.
A TreeMap
将使用 Comparator
或按键的自然顺序对组进行排序。在此示例中,组将按组名称的字母顺序排序。
Map<String, List<String>> map = new TreeMap<>();
map.put("Group1", new ArrayList<>(Arrays.asList("Entry1", "Entry2")));
map.put("Group2", new ArrayList<>(Arrays.asList("Entry3", "Entry4", "Entry5")));
map.put("Group3", new ArrayList<>(Arrays.asList("Entry6", "Entry7")));
System.out.println(map);
如果你想获取特定组的条目,你可以这样做
List<String> list = map.get("Group2");
您可能更希望这些组按照您在 Map
中放置的顺序排列。在这种情况下,您应该使用 LinkedHashMap
而不是 TreeMap
.
我需要将几个按关键字分组的条目存储到一个集合中。
- 第 1 组
- 条目 1
- 条目 2
- 组2
- 条目 3
- 条目 4
- 条目 5
- 第 3 组
- 条目 6
- 条目 7
所以我想,我需要这样的结构
[group1[entry1,entry2],group2[entry3,entry4,entry5],group3[entry6,entry7]]
嵌套数组是正确的选择吗?
你可以使用 Map
.
A TreeMap
将使用 Comparator
或按键的自然顺序对组进行排序。在此示例中,组将按组名称的字母顺序排序。
Map<String, List<String>> map = new TreeMap<>();
map.put("Group1", new ArrayList<>(Arrays.asList("Entry1", "Entry2")));
map.put("Group2", new ArrayList<>(Arrays.asList("Entry3", "Entry4", "Entry5")));
map.put("Group3", new ArrayList<>(Arrays.asList("Entry6", "Entry7")));
System.out.println(map);
如果你想获取特定组的条目,你可以这样做
List<String> list = map.get("Group2");
您可能更希望这些组按照您在 Map
中放置的顺序排列。在这种情况下,您应该使用 LinkedHashMap
而不是 TreeMap
.