一、过滤
条件过滤:
list.stream().filter(j->j.getRoomId().equals(roomid)).collect(Collectors.toList());
获取一列:
list.stream().map(e->e.getUserid()).collect(Collectors.toList());
二、排序
根据某一属性排序:
list.stream().sorted(Comparator.comparing(Model::getSort)).collect(Collectors.toList());
list.stream().sorted(Comparator.comparing(Model::getSort).reversed()).collect(Collectors.toList());
三、单列转set
list.stream().map(Student::getAge).collect(Collectors.toSet());
四、转map
list.stream().map(Student::getName).collect(Collectors.joining(",", "(", ")"));
五、最大值
Integer maxAge = list.stream().map(Student::getAge).collect(Collectors.maxBy(Integer::compare)).get();
六、求和
Integer sumAge = list.stream().collect(Collectors.summingInt(Student::getAge));
七、求平均值
Double averageAge = list.stream().collect(Collectors.averagingDouble(Student::getAge));
八、分组
Map<Integer, List<Student>> ageMap = list.stream().collect(Collectors.groupingBy(Student::getAge));
Map<Integer, Map<Integer, List<Student>>> typeAgeMap = list.stream().collect(Collectors.groupingBy(Student::getType, Collectors.groupingBy(Student::getAge)));