Java集合排序,针对多个字段排序
2016-05-30 16:00
351 查看
有时,我们希望对list中的数据进行排序。但是要根据多个字段。
比如根据开始和结束时间。
开始时间和结束时间可以为空。
这时再使用Collections.sort时,就比较麻烦了。
可以改变下思路,采用一个中间临时变量的方式。
这样就可以控制优先显示哪些内容了。
比如需求是有些
显示开始和结束时间都不为空--》结束时间为空,开始时间不为空--》开始时间为空,结束时间不为空--》开始和结束时间都为空。
这时,就可以当结束时间为空时,把seq加一个值,这样就会显示在开始时间为空的前面了。
Collections.sort(list, new Comparator<Test>() {
@Override
public int compare(Tes o1, Test o2) {
return o2.getSeq().compareTo(o1.getSeq());
}
});
比如根据开始和结束时间。
开始时间和结束时间可以为空。
这时再使用Collections.sort时,就比较麻烦了。
可以改变下思路,采用一个中间临时变量的方式。
这样就可以控制优先显示哪些内容了。
比如需求是有些
显示开始和结束时间都不为空--》结束时间为空,开始时间不为空--》开始时间为空,结束时间不为空--》开始和结束时间都为空。
这时,就可以当结束时间为空时,把seq加一个值,这样就会显示在开始时间为空的前面了。
Collections.sort(list, new Comparator<Test>() {
@Override
public int compare(Tes o1, Test o2) {
return o2.getSeq().compareTo(o1.getSeq());
}
});
相关文章推荐
- Java8新特性(二)------lamda表达式
- 解决spring的bean同名冲突
- 在eclipse中使用安卓模拟器GENYMOTION
- Java设计模式之工厂模式(Factory)
- Spring Boot——2分钟构建spring web mvc REST风格HelloWorld
- java的"值传递"和"引用传递"的问题
- Java基础第十二天总结
- JavaWeb:知识点总结(1)
- 源码学习之Vector
- org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute query; nested exc
- Java获取当前日期的前一个月,前一天的时间
- Java8新特性(一)------函数式编程
- Java初始化顺序
- [solr4.7.0] - JDK1.6环境搭建(参考改良别人)
- MyEclipse10创建maven项目—— (上)
- eclipse 设置了class编译路径,maven 编译却无法产生应有的class文件
- springmvc框架下的国内地区级联效果(共享一下给学习的小伙伴)
- java 遍历时间段的方法
- java java的内存管理浅谈
- Java用于取得当前日期相对应的月初,月末,季初,季末,年初,年末时间