对list中map中的key值进行排序

//对时间戳进行排序  获取最新的mapList<Map<String, Object>> dateList = new ArrayList<Map<String, Object>>();

            Map<String, Object> paramsValue = new HashMap<String, Object>();
            paramsValue.put("userId", user.getId());
            List<SafeConfess> safeConfessList = safeConfessService.querySafeConfessAndContent(paramsValue);
            if (safeConfessList.size()>0) {
                SafeConfess safeConfess = safeConfessList.get(0);
                Date date2 = DateUtils.parseDate(safeConfess.getCreateTime(), "yyyy-MM-dd HH:mm:ss");
                Map<String, Object> mapTemp = new HashMap<String, Object>();
                mapTemp.put("content", safeConfess.getSafeName());
                mapTemp.put("dateTime", date2.getTime());
                mapTemp.put("type", "1");
                dateList.add(mapTemp);
            }
            List<TrainEvaluation> resultList = trainEvaluationService.queryTrainEvaluation(paramsValue);
            if (resultList.size()>0) {
                TrainEvaluation trainEvaluation = resultList.get(0);
                Date date1 = DateUtils.parseDate(trainEvaluation.getCreateTime(), "yyyy-MM-dd HH:mm:ss");
                Map<String, Object> mapTemp = new HashMap<String, Object>();
                mapTemp.put("content", trainEvaluation.getTrainName());
                mapTemp.put("dateTime", date1.getTime());
                mapTemp.put("type", "2");
                dateList.add(mapTemp);
            }
            paramsValue.remove("userId");
            paramsValue.put("problemPersonId", user.getId());
            List<Rectification> queryRectification = rectificationService.queryRectification(paramsValue);
            if (queryRectification.size()>0) {
                Rectification rectification = queryRectification.get(0);
                Date date3 = DateUtils.parseDate(rectification.getCreateTime(), "yyyy-MM-dd HH:mm:ss");
                Map<String, Object> mapTemp = new HashMap<String, Object>();
                mapTemp.put("content", rectification.getRectifyName());
                mapTemp.put("dateTime", date3.getTime());
                mapTemp.put("type", "3");
                dateList.add(mapTemp);
            }
            for (Map<String, Object> map1 : dateList) {
                System.out.println(map1.get("dateTime"));
            }
            //按时间升序排列
            Collections.sort(dateList, new Comparator<Map<String, Object>>() {
                public int compare(Map<String, Object> o1, Map<String, Object> o2) {
                    BigInteger date1 = new BigInteger(o1.get("dateTime").toString()) ;
                    BigInteger date2 = new BigInteger(o2.get("dateTime").toString()) ;
                    return date1.compareTo(date2);
                }
            });
            //排序后
            System.out.println("-------------------");
            for (Map<String, Object> map1 : dateList) {
                System.out.println(map1.get("dateTime"));
            }

原文地址:https://www.cnblogs.com/zhou-pan/p/10277993.html

时间: 2024-07-28 17:23:32

对list中map中的key值进行排序的相关文章

使用对象中的几个key值来排序

环境:vs2012 win7 c++ 1 #include<alogrithem> 2 写一个比较函数,体现对象间是按照哪些key值来排序的. 3 使用std::sort函数. 例子如下: #include <algorithm> /* 排序规律: 星级最大的排前面,其次等级越大排前面,再其次是经验越大排前面,最后是其次是ID值越大排越后面. */ bool myCompare(GameCardVo* obj1,GameCardVo* obj2) { if (obj1->co

C++ STL中Map的按Key排序和按Value排序

原文  http://blog.csdn.net/iicy266/article/details/11906189 map是用来存放<key, value>键值对的数据结构,可以很方便快速的根据key查到相应的value.假如存储学生和其成绩(假定不存在重名,当然可以对重名加以区分),我们用map来进行存储就是个不错的选择. 我们这样定义,map<string, int>,其中学生姓名用string类型,作为Key:该学生的成绩用int类型,作为value.这样一来,我们可以根据学

C++ STL中Map的按Key排序跟按Value排序(转)

C++ STL中Map的按Key排序和按Value排序 map是用来存放<key, value>键值对的数据结构,可以很方便快速的根据key查到相应的value.假如存储学生和其成绩(假定不存在重名,当然可以对重名加以区 分),我们用map来进行存储就是个不错的选择. 我们这样定义,map<string, int>,其中学生姓名用string类型,作为Key:该学生的成绩用int类型,作为value.这样一来,我们可以根据学生姓名快速的查找到 他的成绩. 但是,我们除了希望能够查询

通过靶机网站的编辑器存在的漏洞,拿到靶机上的KEY.txt文件,并把文件中的内容作为key值进行提交

实验环境: 类别 ip 靶机-windows 172.16.1.110 攻击机-kali 172.16.1.111 攻击机-windows 172.16.1.112 题目:通过靶机网站的编辑器存在的漏洞,拿到靶机上的KEY.txt文件,并把文件中的内容作为key值进行提交. 解题过程: 刚看到这个题目是时候是一脸懵逼,当启动完虚拟机以后想到了应该是fck一类的编辑器漏洞, 首先用kali扫描一下,看到了这个就应该明白网站应该是asp的网站,并且是IIS6.0,有解析漏洞 去windows里用浏览

Java中对listmap根据map某个key值进行排序

Collection提供了排序方法sort(),但对于List<Map> 需要根据Map中某一个或某几个Key进行排序,就需要重写sort()方法来实现了: 实现方式如下: public static void main(String[] args) { List<Map<String, String>> list = new ArrayList<Map<String, String>>(); Map<String, String>

PHP中合并数组且key值不变

一般PHP中合并两个数组都会使用array_merge()例如: $data1 = ['111' => 'aaa', '222' => 'bbb', '333' => 'ccc']; $data2 = ['444' => 'ddd', '555' => 'eee', '666' => 'fff']; $data = array_merge($data1, $data2); var_dump($data); 得到结果: array(6) { [0]=> string

mysql 中的外键key值的详解

如果Key是空的, 那么该列值的可以重复, 表示该列没有索引, 或者是一个非唯一的复合索引的非前导列2. 如果Key是PRI,  那么该列是主键的组成部分3. 如果Key是UNI,  那么该列是一个唯一值索引的第一列(前导列),并别不能含有空值(NULL)4. 如果Key是MUL,  那么该列的值可以重复, 该列是一个非唯一索引的前导列(第一列)或者是一个唯一性索引的组成部分但是可以含有空值NULL 如果对于一个列的定义,同时满足上述4种情况的多种,比如一个列既是PRI,又是UNI那么"desc

Map/HashMap 获取Key值的方法

1.通过  KeySet()方法 Map<String,Student> newmap = new HashMap<String,Student>(); //newmap HaspMap类型的集合 有唯一的Key,一个Key对应相应的学生 Student stu = new Student("11","Mary","79"); //创建一个学生对象 学号11; 姓名 Mary 成绩 79 newmap.put("

自定义写实现java中map中的功能(简易)

package test;/** * 通过自定义来实现一个map功能 * 存放键值对,根据键对象找到一个值对象,确保没有重复 */ import java.util.Map; public class test01 { SxtEntry[] arr=new SxtEntry[990]; int size; //定义函数实现将键值对放入数组 public void put(Object key,Object value){ SxtEntry entry=new SxtEntry(key, valu

n个List&lt;Map&gt;合并,key值相等的value值相加

List<Map> maps1 =[{"bigtypes":100,"num":400},{"bigtypes":200,"num":300},{"bigtypes":400,"num":500},{"bigtypes":600,"num":500}] List<Map> maps2 =[{"bigtypes&qu