将多个组存储到集合中

时间:2015-10-10 19:54:35

标签: java collections nested grouping

我需要将按关键字分组的多个条目存储到一个集合中。

  • 组1
    • 取值范
    • ENTRY2
  • 组2
    • entry3
    • entry4
    • entry5
  • 组3
    • entry6
    • entry7

所以我假设,我需要一个像这样的结构

[group1[entry1,entry2],group2[entry3,entry4,entry5],group3[entry6,entry7]]

嵌套数组是否是正确的选择?

1 个答案:

答案 0 :(得分:2)

您可以使用Map

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