Java-8 - Mehrere Group by In-Karte-Sammlung

Ich versuche zu tun, eine groupingBy auf zwei Attributen zu einem Objekt mit Java-streams. Das ist einfach genug, wie wurde dokumentiert durch einige Antworten:

products.stream().collect(
        Collectors.groupingBy(Product::getUpc, 
        Collectors.groupingBy(Product::getChannelIdentifier)));

beispielsweise das obige snippet erzeugt eine Karte der Karten in form

Map<String, Map<String, List<Product>>>

Denen eine Karte hat die Schlüssel des UPC-codes und Ihre Werte sind Karten, die Tasten von Kanal-IDS, die Referenz eine Liste von Produkten.

Das ist cool, aber was ist, wenn ich nicht brauchen, die verschachtelte Wert einer Karte? Das heißt, ich will organisieren, die geschachtelte Kollektion von ChannelIdentifier, aber ich habe nur die Sorge um die .(die Werte) von der Karte, nicht die Karte selbst. Gibt es eine Möglichkeit, um ein Ergebnis zu erhalten, dass die folgenden entspricht?

Map<String, List<List<Product>>

Listen oder Sammlungen... es spielt keine Rolle. Danke!

InformationsquelleAutor IcedDante | 2015-10-29
Schreibe einen Kommentar