Java8根据list中某个字段排序/排序跳过空值/排序空指针

排序

List<User> list = new ArrayList<>(tempList);//tempList中有user对象
list.stream().sorted(Comparator.comparing(User::getSort)).collect(Collectors.toList());
return list;

//需要逆序
list.stream().sorted(Comparator.comparing(User::getSort).reversed()).collect(Collectors.toList());

//降序且空值排在最后;nullLast即null值在最后,reverseOrder整个序列降序,最后结果示例 5,4,3,null,null 如果是naturalOrder(),结果示例3,4,5,null,null
//同理,前边使用nullsFirst,则null值在前边,后边控制其他值的降序升序
list.stream().sorted(Comparator.comparing(User::getsort,Comparator.nullsLast(Comparator.reverseOrder()))).collect(Collectors.toList);

 

posted @ 2022-02-28 14:22  白玉神驹  阅读(2420)  评论(0)    收藏  举报