Partición de secuencias de Java en categorías [duplicado]

Esta pregunta ya tiene una respuesta aquí:

Java 8 Lista <V> en el Mapa <K, V> 19 respuestas

tengo unstream<A>, dónde

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

Me gustaria obtener unmap<String, list<A>>, donde la secuencia original se divide en sublistas según el valor de la categoría (). Es bastante trivial tenerlo implementado usando un bucle for, pero ¿es posible obtener una solución más elegante que aproveche las transmisiones de Java?

EJEMPLO:

Dado{[a, xyz], [a, zyx], [b, abc]}, Me gustaría obtener un mapa:

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

Respuestas a la pregunta(1)

Su respuesta a la pregunta