我已经实现了以下示例:
Map<String,List<Event>> map = events.getItems().stream()
.collect(Collectors.groupingBy(Event::getStatus,Collectors.toList()));
如何获得Map< String,List< EventDto>>的输出?地图而不是?
可以通过执行将事件转换为EventDto的外部方法来获取EventDto.例如 – this :: convertFromEventToEventDto.
解决方法
您需要一个映射收集器来将Event元素映射到EventDto元素:
Map<String,List<EventDto>> map =
events.getItems()
.stream()
.collect(Collectors.groupingBy(Event::getStatus,Collectors.mapping(this::convertFromEventToEventDto,Collectors.toList())));