我已经实现了以下示例:
Map<String, List<Event>> map = events.getItems().stream()
.collect(Collectors.groupingBy(Event::getStatus, Collectors.toList()));
如何获得Map<String, List<EventDto>> map
的输出?
通过执行将EventDto
转换为Event
的外部方法,可以获得EventDto
。例如 - this::convertFromEventToEventDto
。
答案 0 :(得分:13)
您需要mapping
Collector
将Event
元素映射到EventDto
元素:
Map<String, List<EventDto>> map =
events.getItems()
.stream()
.collect(Collectors.groupingBy(Event::getStatus,
Collectors.mapping(this::convertFromEventToEventDto,
Collectors.toList())));