【问题标题】:Partition java streams in categories [duplicate]按类别对Java流进行分区[重复]
【发布时间】:2017-09-22 09:19:20
【问题描述】:

我有一个stream<A>,其中

class A {
  String category();
  // ...
}

我想得到一个map<String, list<A>>,其中原始流根据 category() 的值被划分为子列表。使用 for 循环实现它非常简单,但是否有可能利用 java 流获得更优雅的解决方案?

示例:

鉴于{[a, xyz], [a, zyx], [b, abc]},我想要一张地图:

a -> {[a, xyz], [a, zyx]}
b -> {[b, abc]}

【问题讨论】:

    标签: java java-8 java-stream


    【解决方案1】:

    使用groupingBy collector

    stream.collect(Collectors.groupingBy(A::category));

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多