java采坑之路-lamda排序
2020-06-14 本文已影响0人
风一样的存在
对于普通的字符串和整型排序还好,但是遇到对象集合或数组排序就要实现compare接口或者自定义比较器。lamda表达式提供了更简洁的代码风格。
students.stream().sorted(Comparator.comparing(Student::getName).reversed()
.thenComparing(Student::getAge).reversed())
.collect(Collectors.toList()));
但是集合中出线null处理情况就会报null异常,lamda提供了Comparator.nullsFirst和Comparator.nullsLast
students.sorted(Comparator.comparing(Student::getName,Comparator.nullsLast(Comparator.naturalOrder())).reversed()
.thenComparing(Student::getAge).reversed())
.collect(Collectors.toList()));