/**
* 消息上架时间排序<br>
* @param list
* @param reverse
* @return
*/
protected List<MessageVo> getShowTimeSortList(List<MessageVo> list,
boolean reverse) {
if (reverse) {
Comparator<Object> comp = new Comparator<Object>() {
public int compare(Object o1, Object o2) {
MessageVo p1 = (MessageVo) o1;
MessageVo p2 = (MessageVo) o2;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//showTime : 有效时间
String t1 = p1.getShowTime();
String t2 = p2.getShowTime();
Date dt1 = null;
Date dt2 = null;
if(null == t1 || null == t2){
return 1;
}
try {
dt1 = sdf.parse(t1);
dt2 = sdf.parse(t2);
} catch (ParseException e) {
logger.error("CommonSearch.java conver time error :"+e.getMessage());
}
if(dt1.before(dt2))return 1;
return 0;
//此段代码有linux下有bug,需调整
//if (dt1.getTime() > dt2.getTime()) { //dt1 在 dt2前
//logger.info("## dt1.getTime() > dt2.getTime() ----> return 1;");
//return 1;
//} else {
//logger.info("## dt1.getTime() > dt2.getTime() ----> return 0;");
//return 0;
//}
}
};
Collections.sort(list, comp);
} else {// 升序
Comparator<Object> comp = new Comparator<Object>() {
public int compare(Object o1, Object o2) {
MessageVo p1 = (MessageVo) o1;
MessageVo p2 = (MessageVo) o2;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//showTime : 有效时间
String t1 = p1.getShowTime();
String t2 = p2.getShowTime();
Date dt1 = null;
Date dt2 = null;
try {
dt1 = sdf.parse(t1);
dt2 = sdf.parse(t2);
} catch (ParseException e) {
logger.error("CommonSearch.java conver time error :"+e.getMessage());
}
if (dt1.getTime() <= dt2.getTime()) {
return 1;
} else {
return 0;
}
}
};
Collections.sort(list, comp);
}
return list;
}
相关推荐
java的Comparator和Comparable
java排序Comparator和Comparable
java Comparator 用法 例子java Comparator 用法 例子java Comparator 用法 例子java Comparator 用法 例子
程序实现时间排序Comparator
Java-中的-Comparator-和-Comparable.md
本文,先介绍Comparable 和Comparator两个接口,以及它们的差异;接着,通过示例,对它们的使用方法进行说明
主要介绍了JAVA使用Comparator接口实现自定义排序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
Java中Comparable和Comparator的区别共3页.pdf.zip
Java中Comparator接口的用法 对集合排序的例子 Comparator
主要介绍了Java8 Comparator排序方法实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
主要介绍了java优先队列PriorityQueue中Comparator的用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
像这样的日志代码会更好: if (log.isLoggable(Level.FINE)) { ...假定你已经完成了分析,并且判断出是运行环境中Java 组件的性能需要改善。 ——参考资料:仅个人学习,未详尽测试,请自行调试!!
主要介绍了Java中实现Comparator接口和用法实例(简明易懂),本文给出实现Comparator接口的实例和使用这个接口的代码实例,需要的朋友可以参考下
NULL 博文链接:https://hellogava.iteye.com/blog/1570101
NULL 博文链接:https://singhoo.iteye.com/blog/1704428
本文要来详细分析一下Java中Comparable和Comparator接口的区别,两者都有比较的功能,那么究竟有什么区别呢,感兴趣的Java开发者继续看下去吧
1. Comparator 和 Comparable 相同的地方 他们都是java的一个接口, 并且是用来对自定义的class比较大小的, 什么是自定义class: 如 public class Person{ String name; int age }. 当我们有这么一个...
NULL 博文链接:https://gghaomm.iteye.com/blog/1753970
在使用java的优先队列PriorityQueue的时候,会看到这样的用法。 PriorityQueue queue = new PriorityQueue(new Comparator(){ @Override public int compare(Integer o1, Integer o2){ return o1.compareTo(o2);...
1.import java.util.Comparator; 2.import net.sourceforge.pinyin4j.PinyinHelper; 3./** 4. * 汉字按照拼音排序的比较器 5. * @author KennyLee 2009-2-23 10:08:59 6. * 7. */ 8.public class ...