如何使用 Java 8 API 获取此数据结构?
这是我的对象结构:
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;
}
}
我正在尝试将其聚合到
Map<A, List<B>> bs;
来自
List<A> as = new ArrayList<>();
as.add(a1);
as.add(a2);
as.add(a3);
最佳答案
使用分组方式:
Map<B, List<A>> bs = as.stream().collect(Collectors.groupingBy(A::getB));
假设类 A
有一个 getB()
方法。
关于Java 8 Streams 分组收集器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48457838/