关于类集合分组,使用stream
List<SyncQuestionDTO> questionPaperList = questionPaperService.getAllQuestion(); //库里查询的数据
//利用stream根据类属性的分组
Map<String, List<SyncQuestionDTO>> syncQuestionDTOMap =
questionPaperList.stream().collect(Collectors.groupingBy(s -> s.getPId()));
//把集合根据id抽成map结合map<string,Entity>
Map<String, Entity> IdAndItem = list.stream().collect(Collectors.toMap(Entity::getId, v -> v));
//对象集合中,根据对象的某些属性(可以是多个属性),去重对象,留一个
List<ResourceErrorDTO> resourceErrorDTOList = list.stream()
.collect(
Collectors.collectingAndThen(
Collectors.toCollection(() -> new TreeSet<>(
Comparator.comparing(item -> item.getLocalX() + ";" + item.getLocalY()))),
ArrayList::new)
);