El valor de Java Stream Collectors.toMap es un conjunto

Quiero usar un Java Stream para ejecutar una lista de POJO, como la listaList<A> a continuación, y transformarlo en un MapaMap<String, Set<String>>.

Por ejemplo, la clase A es:

class A {
    public String name;
    public String property;
}

Escribí el código a continuación que recopila los valores en un mapaMap<String, String>:

final List<A> as = new ArrayList<>();
// the list as is populated ...

// works if there are no duplicates for name
final Map<String, String> m = as.stream().collect(Collectors.toMap(x -> x.name, x -> x.property));

Sin embargo, debido a que puede haber varios POJO con el mismoname, Quiero que el valor del mapa sea unSet. Todasproperty Cuerdas para la misma clavename debería entrar en el mismo conjunto.

¿Cómo se puede hacer esto?

// how do i create a stream such that all properties of the same name get into a set under the key name
final Map<String, Set<String>> m = ???

Respuestas a la pregunta(4)

Su respuesta a la pregunta