2017-04-25 3 views
5

Ich habe ein stream<A>, woPartition Java-Streams in Kategorien

class A { 
    String category(); 
    // ... 
} 

Ich mag würde ein map<String, list<A>> bekommen, wo der ursprüngliche Strom in Unterlisten aufgeteilt wird basierend auf dem Wert der Kategorie(). Es ist ziemlich trivial, es mit einer for-Schleife zu implementieren, aber ist es möglich, eine elegantere Lösung zu bekommen, die Java-Streams nutzt?

Beispiel:

{[a, xyz], [a, zyx], [b, abc]} gegeben, würde Ich mag eine Karte bekommen:

a -> {[a, xyz], [a, zyx]} 
b -> {[b, abc]} 

Antwort