List<Map>集合根据Map里某个key对List集合重新排序介绍

2018-03-20 14:35:10

例1:List集合数据参考形式如下:

[{GLXXLX=03,GLXXBH=20160226105812003},{GLXXLX=01,GLXXBH=20160226105812001},{GLXXLX=02,GLXXBH=20160226105812002}]

现在想按照GLXXLX从大到小或者从小到大进行排序,做法如下:

//对list进行重新按照glxxlx进行升序-从小到大if (null != list&& list.size()>0) {
        Collections.sort(list,new Comparator<Map>() {
        @Override        public int compare(Map o1, Map o2) {            int ret = 0;            //比较两个对象的顺序,如果前者小于、等于或者大于后者,则分别返回-1/0/1
            ret = o1.get("GLXXLX").toString().compareTo(o2.get("GLXXLX").toString());//逆序的话就用o2.compareTo(o1)即可
            return ret;
        }
    }); 
}123456789101112

例2:List集合数据参考形式如下:

[{TIME=20160221,CONTENT=测试内容1},{TIME=20160222,CONTENT=测试内容2},{TIME=20160223,CONTENT=测试内容3}]

现在想按照时间TIME降序,将最新的时间放在前面,做法如下:

//对sjzList 进行重新按照time进行降序排列
  if (null != sjzList && sjzList.size()>0) {
   final SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
   Collections.sort(sjzList,new Comparator<Map>() {
    @Override    public int compare(Map o1, Map o2) {     int ret = 0;     try {      //比较两个对象的顺序,如果前者小于、等于或者大于后者,则分别返回-1/0/1
      ret = df.parse(o2.get("TIME").toString()).compareTo(df.parse(o1.get("TIME").toString()));
     } catch (ParseException e) {
      e.printStackTrace();
     }     return ret;
    }
   });
  • 2018-01-04 15:16:05

    201712月如何买到阿里云免费SSL证书(0元SSL证书)

    2017年12月,阿里云搞了个安全月活动,安全活动有折扣。 但是,免费SSL证书却在此时进行过调整,调整后的操作中存在缺陷,不容易找到免费SSL证书。目前尚不清除这是bug还是刻意为之,阿里云作为国内云计算厂商第一,想必不会刻意为之。晚些时候我会提交阿里云聆听平台,反馈此问题,帮助大家后方便从阿里云购买免费SSL证书。

  • 2018-01-04 16:37:25

    怎么让自己的网站支持https 访问 - SLL证书服务

    让自己的网站能够通过 https://你的域名 进行访问。 实现这个需要给你服务器安装安全证书。安全证书是有偿的,你要去申请,当然如果你的服务器在阿里云,你可以向阿里云免费申请SSL证书(每个帐号最多申请20个)。

  • 2018-01-08 22:12:20

    加快gradle的编译速度总结-亲身经历

    这两题集成mob的maven,这个编译速度是慢的可怜啊,经过百度得出了这样一个方案,配置好以后那可是神速啊,妈妈再也不用担心我的编译速度看。嗷嗷的。