[英]Java 8 Streams groupingBy collector
我將如何使用 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);
使用 groupingBy:
Map<B, List<A>> bs = as.stream().collect(Collectors.groupingBy(A::getB));
假設類A
有一個getB()
方法。
實際上非常簡單(假設hashCode/equals
存在於B
)
as.stream()
.collect(Collectors.groupingBy(A::getB))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.