簡體   English   中英

Java 8 Streams groupingBy 收集器

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM