Grz*_*nio 0 java java-8 java-stream
这个问题是对类别中的分区java流的一种后续跟进
我有一个stream<A>,在哪里
class A {
String category();
String data();
}
Run Code Online (Sandbox Code Playgroud)
我想得到一个map<String, list<String>>,其中原始流基于值被分区为子列表category(),然后映射到仅提取data().使用for循环实现它是非常简单的,但是有可能获得利用java流的更优雅的解决方案吗?
例:
鉴于{[a, xyz], [a, zyx], [b, abc]},我想得到一张地图:
a -> {xyz, zyx}
b -> {abc}
Run Code Online (Sandbox Code Playgroud)
你需要稍微不同 groupBy
stream.collect(Collectors.groupingBy(A::getCategory,
Collectors.mapping(A::data, Collectors.toList()));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
381 次 |
| 最近记录: |