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;        // 充值时间
        ....


  • 相关阅读:
    python学习的第20天内置模块之sys、os、os下的path、random、shutil
    【数据结构】数组
    【INDEX】【C和C++】学习汇总
    【Spark】Spark环境配置
    【Scala】一些没有的关键字和声明
    【Scala】异常控制
    二叉树的最大深度
    回文链表
    环形链表
    删除链表的倒数第N个节点
  • 原文地址:https://www.cnblogs.com/H-BolinBlog/p/6022021.html
Copyright © 2011-2022 走看看