【问题标题】:Java split list based on element基于元素的Java拆分列表
【发布时间】:2020-02-28 13:07:39
【问题描述】:

所以我有一个带有属性和构造函数的类Standard

String studentName;
String category;

Standard(studentName, category)

我还有一个 ListStandard 对象,如下所示:

[S1,S2,S3,S4]

在哪里

S1 = Standard("ABC","1");
S2 = Standard("DEF","2")
S3 = Standard("IJK","1")
S4 = Standard("LMN","2")

我想将具有相同categoryStandard 对象分组为Map(String,List<Standard>),其中键为category,值为ListStandard 对象,如下所示:

Map<String,List<Standard>> m = {1=[S1, S3], 2=[S2,S4]};

现在我想知道这是否可以使用 Java 8 流来完成。

【问题讨论】:

    标签: java dictionary arraylist java-8 java-stream


    【解决方案1】:

    你可以使用groupingBy收集器:

    Map<String, List<Standard>> map = standards.stream()
        .collect(Collectors.groupingBy(Standard::getCategory));
    

    假设您已实现 getCategory 方法。

    【讨论】:

      猜你喜欢
      • 2016-06-02
      • 2021-03-18
      • 1970-01-01
      • 1970-01-01
      • 2014-06-02
      • 1970-01-01
      • 1970-01-01
      • 2020-09-04
      • 1970-01-01
      相关资源
      最近更新 更多