::语法附近是关键点,基本复制过去就能用,把::改下就好
去重根据对象的某个属性
方法一
List collect = list.stream().map(User::getId).distinct().collect(Collectors.toList());
方法二
List collect = subjectiveDtos.stream().collect(Collectors.collectingAndThen(
Collectors.toCollection(() -> new TreeSet<>(
Comparator.comparing(
SubjectiveDto::getClassifyName))), ArrayList::new));
明显第一种看着舒服点
根据对象的某个属性分组map
方式一
Map> questionTypeNameMap = childrenList.stream().collect(Collectors.groupingBy(TopicDO::getQuestionTypeName))
方式二
这个可以求每个分组的个数
MapdistinctTopic=randomEleList.stream().collect(Collectors.groupingBy(TopicDO::getTopicFatherId, Collectors.counting()));