La modificación del Mapa valor devuelto con collectors.groupingBy en la corriente de Java

Rajkumar Natarajan:

Tengo por debajo de la definición de clase de Entry-

public class Entry {
    private String key;
    private String Value;
    // getters and setters
    // equals hashcode toString
}

Tengo Lista de Entrylos objetos de la base de datos. Quiero grupo de ellos basados en clave y los valores del resultado Mapa debe ser Set<value>.

Probé y terminar con el código de abajo.

Map<String, Set<Entry>> groupedEntries =  
        entryList.findAll()
                 .stream()
                 .collect(Collectors.groupingBy(ek -> ek.getKey().toLowerCase(), Collectors.toSet()));

El problema con este código es el tipo de resultado es Map<String, Set<Entry>>, pero yo quiero ser Map<String, Set<String>>.

¿es posible hacer esto en un solo cobro revertido?

Ousmane D .:

utilizar el mappingcolector:

.collect(Collectors.groupingBy(ek -> ek.getKey().toLowerCase(), 
                  Collectors.mapping(Entry::getValue, Collector.toSet())));

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=185016&siteId=1
Recomendado
Clasificación