Java 8 Verschachtelte (mehrstufige) Gruppe von
Ich habe einige Klassen wie unten
class Pojo {
List<Item> items;
}
class Item {
T key1;
List<SubItem> subItems;
}
class SubItem {
V key2;
Object otherAttribute1;
}
Ich möchte die Elemente basierend auf @ aggregierekey1
und für jede Aggregation sollten Unterelemente mit @ aggregiert werdkey2
auf folgende Weise:
Map<T, Map<V, List<Subitem>>
ie ist das mit Java 8 möglicCollectors.groupingBy
Verschachtelung?
Ich habe etwas ausprobiert und bin auf halbem Weg bei @ stecken geblieb
pojo.getItems()
.stream()
.collect(
Collectors.groupingBy(Item::getKey1, /* How to group by here SubItem::getKey2*/)
);
Hinweis: Dies ist nicht dasselbe wie kaskadiertesgroupingBy
führt eine mehrstufige Aggregation basierend auf Feldern im selben Objekt durch, wie beschriebenHie