Particionar fluxos java em categorias [duplicado]
Esta pergunta já tem uma resposta aqui:
Lista do Java 8 <V> no mapa <K, V> 19 respostaseu tenho umstream<A>
, Onde
class A {
String category();
// ...
}
Eu gostaria de obter ummap<String, list<A>>
, onde o fluxo original é particionado em sublistas com base no valor de category (). É bastante trivial implementá-lo usando um loop for, mas é possível obter uma solução mais elegante que aproveite os fluxos java?
EXEMPLO:
Dado{[a, xyz], [a, zyx], [b, abc]}
, Gostaria de obter um mapa:
a -> {[a, xyz], [a, zyx]}
b -> {[b, abc]}