栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java根据业务排序利用Comparator.comparing自定义排序规则

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java根据业务排序利用Comparator.comparing自定义排序规则

java用Comparator.comparing自定义排序规则,根据业务逻辑排序
直接上代码:

public static void main(String[] args) {
        
            PaiXu paiXu1 = new PaiXu("离线中", "1");
            PaiXu paiXu2 = new PaiXu("空闲中", "2");
            PaiXu paiXu3 = new PaiXu("空闲中","3");
            PaiXu paiXu4 = new PaiXu("忙碌中","4");
            PaiXu paiXu5 = new PaiXu("","5");
            PaiXu paiXu6 = new PaiXu("","6");
            PaiXu paiXu7 = new PaiXu("空闲中","7");
            PaiXu paiXu8 = new PaiXu("离线中","8");
            List list = Arrays.asList(paiXu1, paiXu2, paiXu3, paiXu4, paiXu5, paiXu6, paiXu7, paiXu8);
            List resultList = new linkedList<>(); //用来存放新的排好序的数据
            //根据业务规则 排序
            List sortList =  Arrays.asList("空闲中","忙碌中","离线中");
            list.stream().sorted(
                    Comparator.comparing(PaiXu::getWorkStatusName,(x, y)->{
                        if(x == null && y != null){
                            return 1;
                        }else if(x !=null && y == null){
                            return -1;
                        }else if(x == null && y == null){
                            return 0;
                        }else{
                            //按照读取的list顺序排序
                            for(String sort : sortList){
                                if(sort.equals(x) || sort.equals(y)){
                                    if(x.equals(y)){
                                        return 0;
                                    }else if(sort.equals(x)){
                                        return -1;
                                    }else{
                                        return 1;
                                    }
                                }
                            }
                            return 0;
                        }
                    })
            ).collect(Collectors.toList()).forEach(x->{
                PaiXu paiXu = new PaiXu();
                BeanUtils.copyProperties(x,paiXu);
                resultList.add(paiXu);
            });

        resultList.forEach(e-> System.out.println(e));
    }```
加油奥利给
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/631966.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号