java - 将多个组存储到集合中

标签 java collections nested grouping

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

  • 组1
    • 条目1
    • 条目2
  • 组2
    • 条目3
    • 条目4
    • 条目5
  • 组3
    • 条目6
    • 条目7

所以我认为,我需要一个这样的结构

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

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

最佳答案

您可以使用 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

关于java - 将多个组存储到集合中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33058347/

相关文章:

python - 在 python 中,如何将两个具有关联计数列表的非常大的列表合并为一个具有关联计数列表的列表?

Python 无法识别我的函数的参数数量

java - Java 类中不存在循环

java - 小服务程序 3.0 : How to off-load Async processing to a different JVM?

java - 我想扩展ArrayList来实现但无法访问element Data private var

wpf - 带有绑定(bind)集合的 Window.InputBindings

json - 使用 GSON 使用通用嵌套数据对象序列化响应对象

function - Scala 风格 : how far to nest functions?

java - Android M downloadprovider 下载失败 SecurityException

java - Windows 虚拟键盘