Collections.sort()
Comparator是个接口,可重写compare()及equals()这两个方法,用于比价功能;如果是null的话,就是使用元素的默认顺序,如a,b,c,d,e,f,g,就是a,b,c,d,e,f,g这样,当然数字也是这样的。
compare(a,b)方法:根据第一个参数小于、等于或大于第二个参数分别返回负整数、零或正整数。
equals(obj)方法:仅当指定的对象也是一个 Comparator,并且强行实施与此 Comparator 相同的排序时才返回 true。
Collections.sort(list, new PriceComparator());的第二个参数返回一个int型的值,就相当于一个标志,告诉sort方法按什么顺序来对list进行排序。
Collections.sort(hblist,new Comparator<Map<String,Object>>(){
public int compare(Map<String, Object> o1,
Map<String, Object> o2) {
if(o1.get("sssd").equals(o2.get("sssd"))){
//若两个航标都是未逾期的
//比o1和o2中属性的值,然后对其需要按照什么排序的字段进行比较,
if(String.valueOf(o1.get("yqsj")).contains("后逾期")&&String.valueOf(o2.get("yqsj")).contains("后逾期")){
if(Double.parseDouble(String.valueOf(o1.get("mmcount")))>Double.parseDouble(String.valueOf(o2.get("mmcount")))){
return 1;
}else if(Double.parseDouble(String.valueOf(o1.get("mmcount")))==Double.parseDouble(String.valueOf(o2.get("mmcount")))){
return 0;
}else{
return -1;
}
}
//若两个航标都是逾期的
if(!String.valueOf(o1.get("yqsj")).contains("后逾期")&&!String.valueOf(o2.get("yqsj")).contains("后逾期")){
if(Double.parseDouble(String.valueOf(o1.get("mmcount")))>Double.parseDouble(String.valueOf(o2.get("mmcount")))){
return -1;
}else if(Double.parseDouble(String.valueOf(o1.get("mmcount")))==Double.parseDouble(String.valueOf(o2.get("mmcount")))){
return 0;
}else{
return -1;
}
}
//若第一个为逾期,第二个为未逾期的
if(!String.valueOf(o1.get("yqsj")).contains("后逾期")&&String.valueOf(o2.get("yqsj")).contains("后逾期")){
return -1;
}
//若第一个为未逾期,第二个为逾期的
if(String.valueOf(o1.get("yqsj")).contains("后逾期")&&!String.valueOf(o2.get("yqsj")).contains("后逾期")){
return 1;
}
}
return 0;
}
} );
Collections.sort()的更多相关文章
- 泛型的排序问题(Collections.sort及Comparable的应用)
一.前言 java中对泛型(集合类型)排序的问题,主要采用了两张方式一种是对要排序的实体类,实现Comparable接口,另一种方式,Collections集合工具类进行排序. 二.实现Comp ...
- Java Collections.sort方法对list集合排序
1.排序测试类 package com.ljq.test; import java.util.ArrayList; import java.util.Collections; import java. ...
- list集合的排序Comparator和Collections.sort
一个例子 package sortt; import java.util.ArrayList; import java.util.Collections; import java.util.Compa ...
- java中Collections.sort排序详解
Comparator是个接口,可重写compare()及equals()这两个方法,用于比价功能:如果是null的话,就是使用元素的默认顺序,如a,b,c,d,e,f,g,就是a,b,c,d,e,f, ...
- java Collections.sort()实现List排序自定义方法
方法一: package testSimple; import java.util.ArrayList; import java.util.Collections; import java.util. ...
- Java面试总结系列之Collections.sort()
面试中被问到,集合类中的排序方法是怎么实现的?没有回答上来,故而总结如下:你知道么? 前提:在eclipse中对于自己的代码可以通过按住Ctrl的同时单击名称跳入相应源码中.但eclipse默认没有添 ...
- python 中的sort 和java中的Collections.sort()函数的使用
x=[1,2,3] x.sort()对的,x这个都变了 y=x.sort()错误 y=sorted(x)对的,x拍好序的一个副本 python中用匿名函数和自定义函数排序:(很奇怪的是比较函数返回的是 ...
- Java中使用Collections.sort()方法对数字和字符串泛型的LIst进行排序
在List的排序中常用的是Collections.sort()方法,可以对String类型和Integer类型泛型的List集合进行排序. 首先演示sort()方法对Integer类型泛型的List排 ...
- Collections.sort的三种用法
/** * @author guwh * @version 创建时间:2011-11-3 上午10:49:36 * 类说明 */ package com.jabberchina.test; impor ...
- Java基础集锦——利用Collections.sort方法对list排序
要想对List进行排序,可以让实体对象实现Comparable接口,重写compareTo方法即可实现按某一属性排序,但是这种写法很单一,只能按照固定的一个属性排序,没变法变化.通过下面这种方法,可以 ...
随机推荐
- [React] React Router: Router, Route, and Link
In this lesson we'll take our first look at the most common components available to us in react-rout ...
- [Angular 2]ng-class and Encapsulated Component Style2
Many Components require different styles based on a set of conditions. Angular 2 helps you style you ...
- c语言数组小练习
//查找数组中最大的值: #include<stdio.h> int main01() { , , , , , , , , , ,,}; ]; int i; ;i < ]);i++) ...
- Android WifiDirect 学习(三) 一些基础知识和问题
P2P架构介绍 P2P架构中定义了三个组件,一个设备,两种角色.这三个组件分别是: P2P Device:它是P2P架构中角色的实体,读者可把它当做一个Wi-Fi设备. P2P Group Owner ...
- Arcgis Server ecp(许可)
Arcgis Server 10 许可(新建.txt文件,然后拷贝好以下内容,然后修改为 .ecp文件即可): 3dengine,100,ecp.arcgis.server,none,KGE784S1 ...
- linux 使用ptrace函数时找不到头文件 .h 或者找不到某个宏的解决方法
例如: #include <stdio.h> #include <sys/ptrace.h> #include <sys/types.h> #include < ...
- js获取url的各项参数
function getQueryStringArgs() { //取得查询字符串并去掉开头的问号 var qs = location.search.length > 0 ? location. ...
- CSS应用五
1. 页面变灰 html { filter: grayscale(100%);//IE浏览器 -webkit-filter: grayscale(100%);//谷歌浏览器 -moz-fi ...
- 实例讲解MySQL联合查询
好了终于贴完了MySQL联合查询的内容了,加上上一篇一共2篇,都是我转载的,实例讲解MySQL联合查询.那下面就具体讲讲简单的JOIN的用法了.首先我们假设有2个表A和B,他们的表结构和字段分别为: ...
- POJ2002 二分查找&哈希
问题重述: 给定整数n,以及n个点的坐标xi, yi.求这n个点可以组成的正方形的数目(每个点可重复使用). 分析: 根据正方形的性质,给定两个点就能确定可能构成的两个正方形的另外两个顶点.因此,只需 ...