当前位置:   article > 正文

Java8新特性中常用的去重、交集、差集、排序等功能_java新特性 去重

java新特性 去重
1. 集合去重:
List<String> strList = list.stream().distinct().collect(Collectors.toList());
List<Student> list = Students.stream().collect(collectingAndThen(toCollection(() -> new TreeSet<>(comparingLong(Student::getId))), ArrayList::new));//对象集合去重
2.交集
List<String> strList = strList1.stream().filter(str->strList2.contains(str)).collect(Collectors.toList);
List<Student> students= students1.stream().filter(item ->students2.stream().map(e -> e.getName()).collect(Collectors.toList()).contains(item.getName())).collect(Collectors.toList());//对象集合求交集
3.差集
List<String> strList = strList1.stream().filter(str->!strList2.contains(str)).collect(Collectors.toList);
List<Student> students= students1.stream().filter(item -> !students2.stream().map(e -> e.getName()).collect(Collectors.toList()).contains(item.getName())).collect(Collectors.toList());//对象集合求差集
4.排序
students.sort(Comparator.comparing(Student::getId).thenComparing(Student::getName));//对象集合升序排序
students.sort(Comparator.comparing(Student::getId).reversed().thenComparing(Student::getName));//对象集合倒序排序
5.List转化Map
Map<String, Student> studentMap = students.parallelStream().collect(Collectors.toMap(Student::getId, Function.identity(), (v1, v2) -> v2));//对象集合转Map
6.获取list对象的某个字段组装成新list
List<String> studentIdList = students.stream().map(student-> student.getId()).collect(Collectors.toList());
7.求最值
int minAge = students.stream().map(Student::getAge).min(Integer::compareTo).get();//最小值
int maxAge = students.stream().map(Student::getAge).max(Integer::compareTo).get();//最大值
8.求和
int sumAge = students.stream().mapToInt(Student::getAge).sum();//基本类型
9.分组
Map<String, List<Student>> groupBySex = students.stream().collect(Collectors.groupingBy(Student::getSex));//按性别分组 
10.forEach循环:
forEach循环可以用return做跳过操作,而不能用break(会在编译期报错)11.Comparator.comparing排序:
Comparator.comparing默认是升序排序,可以用reversed改成降序
students.sort(Comparator.comparingLong(Student::getAge));
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/77327
推荐阅读
相关标签
  

闽ICP备14008679号