[英]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? 如何获取
Map<String, List<EventDto>> map
的输出?
An EventDto
can be obtained by executing an external method which converts an Event
to an EventDto
. 一个
EventDto
可以通过执行其中转换外部方法获得Event
到EventDto
。 For example - this::convertFromEventToEventDto
. 例如 -
this::convertFromEventToEventDto
。
You need a mapping
Collector
to map the Event
elements to EventDto
elements : 您需要一个
mapping
Collector
来将Event
元素mapping
到EventDto
元素:
Map<String, List<EventDto>> map =
events.getItems()
.stream()
.collect(Collectors.groupingBy(Event::getStatus,
Collectors.mapping(this::convertFromEventToEventDto,
Collectors.toList())));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.