Java8 使用Stream排序空字段排在前面或后面

createh51周前 (03-05)技术教程6

Java8 Stream排序空字段排在前面或后面

直接粗暴sorted会NPE,这种写法可以避免

list.stream().sorted(Comparator.comparing(l -> l.getCreateTime(), Comparator.nullsFirst(Date::compareTo))).collect(toList());
toOrderList.stream().sorted(Comparator.comparing(l -> l.getContractCode(), Comparator.nullsFirst(String::compareTo))).collect(toList());

Java8根据某字段顺序和倒序排列

顺序

resultList.stream().sorted(Comparator.comparing(Role::getCreateTime)).collect(Collectors.toList());

倒序

resultList.stream().sorted(Comparator.comparing(Role::getCreateTime).reversed()).collect(Collectors.toList());

谢谢大家支持!!

相关文章

Java 实现快速排序、归并排序、选择排序和桶排序

import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util....

Java中List排序的3种方法

在某些特殊的场景下,我们需要在 Java 程序中对 List 集合进行排序操作。比如从第三方接口中获取所有用户的列表,但列表默认是以用户编号从小到大进行排序的,而我们的系统需要按照用户的年龄从大到小进...

Java选择排序法

假设当前存在一个 int 类型的数组 number,该数组中的元素依次是 13、15、 24、99、4 和 1。如果使用冒泡排序进行两两相邻比较,第 一趟排序后的结果如下:  13、15、24、4、1...

java快速排序

快速排序是一种非常高效的排序算法,它的实现,增大了记录和比较和移动的距离,从而减少总的比较此时和移动次数。采用分而治之的思想,将一个大的问题拆成一个小的问题,小的问题拆成更小的问题。public st...

算法篇:Java实现九种排序算法1:插入排序之后直接插入排序

一、插入排序思想:每步将一个待排序的记录,按其顺序码大小插入到前面已经排序的字序列的合适位置,直到全部插入排序完为止。关键问题:在前面已经排好序的序列中找到合适的插入位置。方法:直接插入排序、二分插入...

java实现10种排序算法

1.冒泡排序(Bubble Sort)import java.util.Arrays;//冒泡排序public class BubbleSort_01 {public static void main...