博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java排序-按照实体的多种属性值进行排序(ComparableComparator/ComparatorChain)
阅读量:4623 次
发布时间:2019-06-09

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

一、在项目的开发过程中,获取快递物流信息之后,对于快递路由列表信息进行按照时间进行倒序排序,由此做的一些记录和总结 // 获取物流信息 ExpressRouteVO实体在后面 List
routeList = getExpressRouteByNo(entity.getBillNo()); Comparator mycmp1 = ComparableComparator.getInstance(); //默认为正序,我们这边设置为逆序 mycmp1 = ComparatorUtils.reversedComparator(mycmp1); ArrayList
sortFields = new ArrayList(); sortFields.add(new BeanComparator("time", mycmp1)); //创建一个排序链 ComparatorChain multiSort = new ComparatorChain(sortFields); Collections.sort(routeList, multiSort); params.put("expressDataList", routeList); 二、以下是在网络找到的一些参考 Comparator mycmp1 = ComparableComparator.getInstance (); mycmp1 = ComparatorUtils. reversedComparator(mycmp1); //逆序 Comparator mycmp2 = ComparableComparator.getInstance (); mycmp2 = ComparatorUtils. nullHighComparator(mycmp2); //允许null // 声明要排序的对象的属性,并指明所使用的排序规则,如果不指明,则用默认排序 ArrayList sortFields = new ArrayList(); sortFields.add( new BeanComparator("age" , mycmp1)); //主排序(第一排序) sortFields.add( new BeanComparator("grade" , mycmp2)); //次排序(第二排序) // 创建一个排序链 ComparatorChain multiSort = new ComparatorChain(sortFields); // 开始真正的排序,按照先主,后副的规则 Collections.sort (users , multiSort); 三,通过以下ComparableComparator的使用,我们可以比较方便的进行多种属性的排序,这里只是简要做个记录,有时间得对实体排序的方法做更多的了解,对于方法的底层实现做进一步的理解。 参考资料: -------------------------------
import java.io.Serializable; /**  * 路由节点信息 */ public class ExpressRouteVO implements Serializable { private String time; private String address; private String remark; private String opCode; public String getTime() { return time; } public void setTime(String time) { this.time = time; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public String getRemark() { return remark; } public void setRemark(String remark) { this.remark = remark; } public String getOpCode() { return opCode; } public void setOpCode(String opCode) { this.opCode = opCode; } } -------------------------------------------
 

转载于:https://www.cnblogs.com/zluckiy/p/11455585.html

你可能感兴趣的文章
Spring Boot入门第一天:Hello, Spring Boot!
查看>>
使用Cocos2d-JS制作游戏新手引导(四)应用篇
查看>>
day6
查看>>
Linux: 统计代码行数和SVN修改行数的命令
查看>>
【心情】郁闷
查看>>
Java事务与JTA
查看>>
装饰器模式
查看>>
LR Socket 测试demo
查看>>
vue 路由用法
查看>>
poj2104 划分树 区间K大 在线 无修改
查看>>
java可变参数Varargs
查看>>
MySQL 5.7 安装完成后,首次登陆的几个问题
查看>>
Javascript笔记
查看>>
[禅悟人生]在每日的劳作中寻求充实与安宁
查看>>
跟锦数学2017年下半年 (不再更新网页版)
查看>>
Key/Value之王Memcached初探:三、Memcached解决Session的分布式存储场景的应用
查看>>
.NET基础拾遗(5)多线程开发基础
查看>>
Debug!Debug!Debug!
查看>>
python之subprocess模块详解--小白博客
查看>>
nmap扫描工具
查看>>