1.将集合转为map
Map<Integer, Integer> map= list.stream().collect(Collectors.toMap(k1 -> k1.getReason(), k2 -> k2.getTotal()));
2.讲集合中的对象根据某个字段分组
taskGroupDtos.stream().collect(Collectors.groupingBy(TaskGroupDto :: getType,Collectors.mapping(value -> value,Collectors.toList())));
3.排序
List<User> personList = new ArrayList<>();
personList.add(new User("张三", 16, 181));
personList.add(new User("李四", 17, 180));
personList.add(new User("王五", 16, 179));
personList.add(new User("张明", 18, 177));
personList.add(new User("李威", 16, 190));
personList.add(new User("王鹏", 15, 188));
personList.add(new User("王莉", 17, 177));
//年龄升序,相同年龄身高升序
List<User> ascPList = personList.stream()
.sorted(Comparator.comparingInt(User::getAge).thenComparing(User::getHeight))
.collect(Collectors.toList());
//年龄降序,相同年龄身高降序
List<User> descPList = personList.stream()
.sorted(Comparator.comparingInt(User::getAge).thenComparing(User::getHeight).reversed())
.collect(Collectors.toList());