java升降序排列
来源:互联网 发布:专业物流软件 编辑:程序博客网 时间:2024/04/29 09:29
java升降序排列
直接上代码
public class TimeComparator implements Comparator { @Override public int compare(Object o1, Object o2) { WarningInfoBean bean1 = (WarningInfoBean) o1; WarningInfoBean bean2 = (WarningInfoBean) o2; if (bean1.getReleaseTime() - bean2.getReleaseTime() > 0){ return -1;//由高到底排序 }else if (bean1.getReleaseTime() - bean2.getReleaseTime() < 0){ return 1; } return 0; }}//使用Collections.sort(warningBeans,new TimeComparator());
一般思路都是从升序开始(可能人的意识是看到排序最初的印象是升序),但是因为sort本身是个模板,也就是希望sort不改变,由用户传入的比较器来决定排序,所以6L的伪代码就是基于升序的基础去处理的,sort里面只需要关心比较器的返回值,如果返回值大于0,则说明比较参数1大于比较参数2,则把参数1”沉底”(换过来说就是参数2冒泡),这样当用户改变比较器,原本参数1大于参数2应该返回大于0的,可用户却故意返回小于0,这样相当于比较器欺骗了sort,sort因为只关心结果,于是就认为参数2大于参数1,于是把参数2”沉底”(参数1冒泡),这样就相当于把“小”的放到最底,于是也就成了“降序”排序。
所以,排序的模板一般来说都是基于升序实现的,如果要达到“降序”,就由用户去实现比较器然后传给sort方法就可以了
可以参考下面的文字,有具体的demo:
http://www.cnblogs.com/standcloud/articles/2601914.html
0 0
- java升降序排列
- 升降序排列
- sql语句升降序排列
- avalon实现数组升降序排列
- 关于教师信息的升降序排列输出
- matlab-基础 对矩阵元素进行升降序排列
- 关于全排列升降序的一些思考
- Java 练习数组冒泡排序list升降序
- python列表的 升降序
- 仲恺ACM 1020:电梯升降【java】
- php数组排序(可升降序)
- js中的升降序的比较器
- 数字与字母混合升降序
- angularJs利用$scope处理升降序
- 点击表头切换升降序排序方式
- 删除/全部删除/模糊查询/升降序
- 下一个排列 字典序 java
- java分布式系统开关功能设计(服务升降级)
- Monocular slam 理论基础(1)
- deeplearning4j
- win7 Eclipse环境下配置Python+PyQt4的开发环境
- Mac搭建nginx
- postgres+socket.io+nodejs实时地图应用实践
- java升降序排列
- mysql_query false 报错
- C语言零碎知识点总结(数组和函数返回值)
- Logcat 本地/sdcard存储命令
- 计算机视觉开源代码集合—未验证所有
- 解答"div或者img加载图片在安卓上有的时候会出现白屏现象"的问题
- 完全删除Oracle 10g、11g的步骤
- 安装CocoaPods遇到的问题及解决办法
- vmware下ubuntu14.04手动安装vmtools失败的解决办法