Map
您可以使用
Collectors.toMap()
,这样:
Map<String, List<MeetupDTO>> employeesMeetups = employeesId.stream()
.collect(Collectors.toMap(
employeeId -> employeeId, // Key mapper
employeeId -> meetupRepository.getAllByEmployeeId(employeeId).stream()
.map(meetupMapper::toDTO)
.filter(m -> m.getStartDate().compareTo(startDay) > 0 && m.getEndDate().compareTo(endDay) < 0)
.collect(Collectors.toList()) // Value mapper
));
重要提示:在使用
toMap()
收集器时,需要确保键是唯一的,否则可能会遇到IllegalStateException
。