JAVA 按时间排序
排序使用的是
Collections.sort(List,Comparator)
自定义类实现Comparator接口
假如A的值大于B,你返回1。这样调用Collections.sort()方法就是升序
假如A的值大于B,你返回-1。这样调用Collections.sort()方法就是降序
import com.lanhetech.api.iso8583msg.utils.MyLog;
import com.lanhetech.model.user.Trade; import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Comparator;
import java.util.Date; /**
* 订单按时间排序,最近的日期显示在上面
*/
public class ComparatorDate implements Comparator {
public static final String TAG = "ComparatorDate"; SimpleDateFormat format = new SimpleDateFormat("yyyy/M/d H:mm:ss"); public int compare(Object obj1, Object obj2) {
Trade t1 = (Trade) obj1;
Trade t2 = (Trade) obj2;
// return t1.getTradetime().compareTo(t2.getTradetime()); // 时间格式不好,不然可以直接这样比较
Date d1, d2;
try {
d1 = format.parse(t1.getTradetime());
d2 = format.parse(t2.getTradetime());
} catch (ParseException e) {
// 解析出错,则不进行排序
MyLog.e(TAG, "ComparatorDate--compare--SimpleDateFormat.parse--error");
return 0;
}
if (d1.before(d2)) {
return 1;
} else {
return -1;
}
}
}
使用:
ComparatorDate c = new ComparatorDate();
Collections.sort(notRechargeTrades, c); // 订单按时间排序
Collections.sort(isFinishTrades, c);
private List<Trade> notRechargeTrades = new ArrayList<>();
private List<Trade> backMoneyTrades = new ArrayList<>();
private List<Trade> isFinishTrades = new ArrayList<>();
public class Trade extends ComUser implements Serializable {
....
private String tradetime; // 充值时间
....
JAVA 按时间排序的更多相关文章
- java compare 时间排序
所有数据存进resultList中 Collections.sort(resultList, new Comparator<HashMap<String, Object>>() ...
- 几种能在O(n*log(n))时间排序
线性时间排序 各种排序算法总结已经介绍了几种能在O(n*log(n))时间内培训n个数的算法.归并排序和堆排序达到了最坏情况下的上界:快速排序在平均情况下达到该上界.这些算法都有一个有趣的性质:在 ...
- java性能时间与空间消耗
Java性能时间与空间消耗 一.减少时间消耗 标准代码优化 (1) 将循环不变量的计算移出循环 例如:for (int i=0; i<size()*2; i++) { ... } ------& ...
- 目录和文件 按创建时间排序du -h --time --max-depth=1 . |sort -r -t $'\t' -k 2 Linux查看文件夹大小,并按文件夹创建时间排序
目录和文件 按创建时间排序 # du -h --time --max-depth=1 . |sort -r -t $'\t' -k 230M 2020-04-01 14:54 .28K 2020-04 ...
- Java实现时间动态显示方法汇总
这篇文章主要介绍了Java实现时间动态显示方法汇总,很实用的功能,需要的朋友可以参考下 本文所述实例可以实现Java在界面上动态的显示时间.具体实现方法汇总如下: 1.方法一 用TimerTask: ...
- 如何对sharepoint图片库的文件夹的图片按照时间排序并分页显示
/// <summary> /// 获取图片库第一层文件夹--根据文件夹名称排序 /// </summary> /// <param name="siteUrl ...
- ls按时间排序输出文件列表
文件转自:http://www.2cto.com/os/201303/197829.html ls按时间排序输出文件列表 首先,ls --help查看ls相关的与时间排序相关的参数: > ...
- C#实现对指定文件夹中文件按修改时间排序
string path = "~/Document/Introduction/团队管理制度/"; DirectoryInfo dirinfo = new Di ...
- Java 对时间和日期的相关处理
1. 获取当前系统时间和日期并格式化输出 import java.util.Date; import java.text.SimpleDateFormat; public class NowStrin ...
随机推荐
- Android布局优化思考
一.关于RelativeLayout和LinearLayout的使用 由源码可以知道,RelativeLayout需要对其子View进行两次measure过程,而LinearLayout只需一次mea ...
- POJ2154 Color
Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 10322 Accepted: 3360 Description Bead ...
- 哈希Hash在字符串中的应用_C++
本文含有原创题,涉及版权利益问题,严禁转载,违者追究法律责任 哈希大家都会用撒,字符串显然都会写撒,那么哈希离散化字符串不就懂了?!(XXX的神逻辑,其实原文是:树都晓得吧,数组显然都会开呀,那么恭喜 ...
- JSP的简便写法
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMIAAAFmCAIAAACwedIqAAAWfklEQVR4nO2d7XPV1p3H77+x+3JfpJ ...
- How to learn wxPython
目录 How to learn wxPython Learn Python Choose a good editor Install wxPython Read the wxPython tutori ...
- java 聊天程序
package cn.apr.chart; import java.net.*; import java.io.*; import java.util.*; public class ChatServ ...
- TCP/IP Http的区别
TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据. 关于TCP/IP和HTTP协议的关系,网络有一段比较容易理解的介绍:“我们在传输数据时,可以 ...
- linux内核源码中两个重要的宏
转载:http://www.cnblogs.com/skywang12345/p/3562146.html 倘若你查看过Linux Kernel的源码,那么你对 offsetof 和 containe ...
- suse下自动启动脚本
suse下自动启动脚本 http://blog.csdn.net/herobox/article/details/8961358 suse下自动启动脚本 也许你对SUSE Linux很了解,也许你不太 ...
- 【bzoj3439】KPM的MC密码
这题乍一看后缀相等很烦的样子…… 其实如果把字符串倒过来,那么相等的后缀就可以转化成前缀,前缀相等扔进trie就可以了. 剩下无非是Trie的树链kth,主席树随便维护就好. 注意一个串彻底结束才能打 ...