public Map<Long, List<String>> groupby(){
List<DTO> lst = getResultFromDB();
Map<Long, List<DTO>> result =
lst.stream().collect(Collectors.groupingby(DTO:getId));
return result;
}
class DTO {
private Long id;
private String code;
}
我想要Map<Long, List<String>>
(字符串为DTO.getCode()
),而不是Map<Long, List<DTO>>
。我该怎么办?
答案 0 :(得分:1)
您需要使用Collectors.mapping
来映射code
中的DTO
groupingBy
public Map<Long, List<String>> groupby() {
List<DTO> lst = getResultFromDB();
Map<Long, List<String>> result = lst
.stream()
.collect(Collectors.groupingBy(DTO::getId, Collectors.mapping(DTO::getCode, Collectors.toList())));
return result;
}