zoukankan      html  css  js  c++  java
  • 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;        // 充值时间
        ....


  • 相关阅读:
    day22 os模块
    开始 Dojo 开发
    Java 多线程编程
    Oracle 中常用数据字典大总结
    使用Java API的5个技巧
    Java 守护线程概述
    给Java新手的一些建议——Java知识点归纳(Java基础部分)
    消息中间件收录集
    2017年Java面试题整理
    Java 9 新特性快速预览
  • 原文地址:https://www.cnblogs.com/H-BolinBlog/p/6022021.html
Copyright © 2011-2022 走看看