zoukankan      html  css  js  c++  java
  • 对List 集合中元素进行排序

     1     /**
     2      * 共通排序
     3      */
     4     public List<BarrageMessageVO> commonSort(String sort, List<BarrageMessageVO> list) {
     5         String sorting = StringUtils.isBlank(sort) ? "updatetime" : sort.toLowerCase();
     6         if (sorting.contains("createtime asc")) {
     7             //按照创建时间升序排序
     8             list.sort(BarrageMessageVO::compareToCreateTime);
     9         } else if (sorting.contains("createtime desc")) {
    10             //按照创建时间降序排序
    11             list.sort(BarrageMessageVO::compareToCreateTimeDesc);
    12         } else if (sorting.contains("updatetime desc")) {
    13             //按照更新降序排序
    14             list.sort(BarrageMessageVO::compareToUpdateTimeDesc);
    15         } else {
    16             //按照更新升序排序
    17             list.sort(BarrageMessageVO::compareToUpdateTime);
    18         }
    19         return list;
    20     }
    21 
    22 /**
    23      * 按照创建时间升序排序
    24      * yyyy-MM-dd HH:mm:ss
    25      * @param another
    26      * @return
    27      */
    28     public int compareToCreateTime(BarrageMessageVO another) {
    29         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    30         Date createTime1 = null;
    31         Date createTime2 = null;
    32         try {
    33             createTime1 = sdf.parse(this.createTime);
    34             createTime2 = sdf.parse(another.createTime);
    35         } catch (ParseException e) {
    36             // ignore
    37         }
    38         return createTime1.compareTo(createTime2);
    39     }
    40 
    41     /**
    42      * 按照创建时间降序排序
    43      * yyyy-MM-dd HH:mm:ss
    44      * @param another
    45      * @return
    46      */
    47     public int compareToCreateTimeDesc(BarrageMessageVO another) {
    48         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    49         Date createTime1 = null;
    50         Date createTime2 = null;
    51         try {
    52             createTime1 = sdf.parse(this.createTime);
    53             createTime2 = sdf.parse(another.createTime);
    54         } catch (ParseException e) {
    55             // ignore
    56         }
    57         return createTime2.compareTo(createTime1);
    58     }
    59 
    60     /**
    61      * 按照更新升序排序
    62      * yyyy-MM-dd HH:mm:ss
    63      * @param another
    64      * @return
    65      */
    66     public int compareToUpdateTime(BarrageMessageVO another) {
    67         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    68         Date updateTime1 = null;
    69         Date updateTime2 = null;
    70         try {
    71             updateTime1 = sdf.parse(this.updateTime);
    72             updateTime2 = sdf.parse(another.updateTime);
    73         } catch (ParseException e) {
    74             // ignore
    75         }
    76         return updateTime1.compareTo(updateTime2);
    77     }
    78 
    79     /**
    80      * 按照更新降序排序
    81      * yyyy-MM-dd HH:mm:ss
    82      * @param another
    83      * @return
    84      */
    85     public int compareToUpdateTimeDesc(BarrageMessageVO another) {
    86         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    87         Date updateTime1 = null;
    88         Date updateTime2 = null;
    89         try {
    90             updateTime1 = sdf.parse(this.updateTime);
    91             updateTime2 = sdf.parse(another.updateTime);
    92         } catch (ParseException e) {
    93             // ignore
    94         }
    95         return updateTime2.compareTo(updateTime1);
    96     }
  • 相关阅读:
    Django+drf学习过程笔记
    网络编程之socket
    python回收机制
    异常处理
    面向对象
    常用模块
    部分内置模块
    模块的使用、软件开发目录规范
    迭代器、生成器、函数递归调用及二分式
    三元表达式、生成式、匿名函数
  • 原文地址:https://www.cnblogs.com/ming-blogs/p/13935282.html
Copyright © 2011-2022 走看看