Company logo
  • Empleos
  • Bootcamp
  • Acerca de nosotros
  • Para profesionales
    • Inicio
    • Empleos
    • Cursos y retos
    • Preguntas
    • Profesores
    • Bootcamp
  • Para empresas
    • Inicio
    • Nuestro proceso
    • Planes
    • Pruebas
    • Nómina
    • Blog
    • Comercial
    • Calculadora

0

187
Vistas
Java 8 lambda Collectors.groupingBy with map in Collector.toList()

I have implemented the following example:

Map<String, List<Event>> map = events.getItems().stream()
        .collect(Collectors.groupingBy(Event::getStatus, Collectors.toList()));

How can I get an output of Map<String, List<EventDto>> map instead?

An EventDto can be obtained by executing an external method which converts an Event to an EventDto. For example - this::convertFromEventToEventDto.

8 months ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

You need a mapping Collector to map the Event elements to EventDto elements :

Map<String, List<EventDto>> map = 
    events.getItems()
          .stream()
          .collect(Collectors.groupingBy(Event::getStatus, 
                                         Collectors.mapping(this::convertFromEventToEventDto,
                                                            Collectors.toList())));
8 months ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos