我已经实现了以下示例:
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())));