Bha*_*ath 6 java java-8 java-stream
我如何使用java 8流获取此数据结构.
class A {
B b;
public A(B b) {
this.b = b;
}
}
class B {
List<A> as;
private int i;
public B(int i) {
this.i = i;
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的对象结构.我想把它聚合到,
Map<A, List<B>> bs;
Run Code Online (Sandbox Code Playgroud)
从,
List<A> as = new ArrayList<>();
as.add(a1);
as.add(a2);
as.add(a3);
Run Code Online (Sandbox Code Playgroud)
使用groupingBy:
Map<B, List<A>> bs = as.stream().collect(Collectors.groupingBy(A::getB));
Run Code Online (Sandbox Code Playgroud)
假设类A有一个getB()方法.
它实际上非常简单(假设hashCode/equals存在B)
as.stream()
.collect(Collectors.groupingBy(A::getB))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
196 次 |
| 最近记录: |