博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 内部类实现排序 Comparator
阅读量:6688 次
发布时间:2019-06-25

本文共 1407 字,大约阅读时间需要 4 分钟。

public class A{    public xxxx fun(){        //业务逻辑        //xxxxxxxxxxxxxxxxxxx        //排序        Collections.sort(myList, new MyComparator(configValueList));    }    /**    *内部类实现排序    *configValueList 排序规则    *根据DtoList中的某一个字段,按照configValueList配置的规则来排序    *如configValueList ["a","b","c"]    *myList    myList.get[0].getVal() = b,myList.get[1].getVal() = a,myList.get[2].getVal() = c    *那么排序后 myList.get[0].getVal() = a,myList.get[1].getVal() = b,myList.get[2].getVal() = c    */    class MyComparator implements Comparator
{ private List
configValueList; public MyComparator(List
configValueList) { this.configValueList = configValueList; } @Override public int compare(Dto dto1, Dto dto2) { if(CollectionUtils.isEmpty(configValueList) || dto1 == null || dto2 == null){ return 0; } String val1 = dto1.getVal(); String val2 = dto2.getVal(); if(StringUtils.isBlank(val1) || StringUtils.isBlank(val2)){ return 0; } int sort1 = configValueList.indexOf(val1); int sort2 = configValueList.indexOf(val2); if(-1 == sort1 || -1 == sort2){ return 0; } return sort1 - sort2; } }}

 

转载于:https://www.cnblogs.com/liuwt365/p/7204285.html

你可能感兴趣的文章
Nagios+ PNP4nagios + rrdtool 监控平台建立
查看>>
linux 磁盘的分区
查看>>
windows手动启动mysql mysql.bat
查看>>
TCC型分布式事务原理和实现之:原理介绍
查看>>
配置outlook收发domino邮件
查看>>
用普通计算机假设基于liunx系统的NAS部署FineReport决策系统
查看>>
[精讲-5]BitLocker
查看>>
TensorFlow Serving在Kubernetes中的实践
查看>>
Python函数与类参数默认值陷阱
查看>>
SQLite数据类型
查看>>
CentOS7的SSH免秘钥认证
查看>>
jdbc连接数据库一般思路(MySql为例)
查看>>
SwaggerUI ASP.Net WebAPI2
查看>>
烂泥: KVM虚拟机Linux系统增加硬盘
查看>>
[Gerrit]Gerrit的安装及用户注册
查看>>
Error:Could not load SWT library
查看>>
ofo摩拜合并 是竞争格局的终点吗
查看>>
思科 核心4506 X4516升级CF卡
查看>>
gitlab bitnami 安装
查看>>
dns本地缓存性能压力测试
查看>>