Java对含有null的集合进行排序

1.原始comparator

java 复制代码
public static List<ReportVehicleVo> sortByBuildingPhaseAndFdeName(List<ReportVehicleVo> list){
        list.sort(new Comparator<ReportVehicleVo>() {
            @Override
            public int compare(ReportVehicleVo o1, ReportVehicleVo o2) {
                if (StringUtils.isBlank(o1.getVeBuildingPhase())){
                    return -1;
                }
                if (StringUtils.isBlank(o2.getVeBuildingPhase())){
                    return 1;
                }
                if (o1.getVeBuildingPhase().compareTo(o2.getVeBuildingPhase()) > 0){
                    return 1;
                }else if (o1.getVeBuildingPhase().compareTo(o2.getVeBuildingPhase()) < 0){
                    return -1;
                }else {
                    if (StringUtils.isBlank(o1.getFdeName())){
                        return -1;
                    }
                    if (StringUtils.isBlank(o2.getFdeName())){
                        return 1;
                    }
                    if (o1.getFdeName().compareTo(o2.getFdeName()) > 0){
                        return 1;
                    }else {
                        return -1;
                    }
                }
            }
        });
        return list;
    }

原始方法判空后再排序

2.优雅方式

java 复制代码
List<String> testingPlaceList = new ArrayList<>();
testingPlaceList.sort(Comparator.nullsFirst(Comparator.naturalOrder()));

下边一行代码执行完就排好序了,并且nullsFirst会把null值排到前边,如果你想排到后边就换成nullsLast,另外naturalOrder是正序,如果你想倒序就换成reverseOrder

相关推荐
L.EscaRC1 分钟前
Lua语言知识与应用解析
java·python·lua
S7777777S7 分钟前
easyExcel单元格动态合并示例
java·excel
刘个Java18 分钟前
对接大疆上云api---实现直播效果
java
用户95451568116219 分钟前
== 和 equals 区别及使用方法组件封装方法
java
hashiqimiya23 分钟前
html的input的required
java·前端·html
一只叫煤球的猫38 分钟前
从1996到2025——细说Java锁的30年进化史
java·后端·性能优化
努力努力再努力wz40 分钟前
【Linux进阶系列】:线程(上)
java·linux·运维·服务器·数据结构·c++·redis
极客柒43 分钟前
Unity 协程GC优化记录
java·unity·游戏引擎
我要去腾讯44 分钟前
Springcloud核心组件之Sentinel详解
java·spring cloud·sentinel
czhc11400756631 小时前
Java117 最长公共前缀
java·数据结构·算法