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

Posted zhou-pan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对list中map中的key值进行排序相关的知识,希望对你有一定的参考价值。

//对时间戳进行排序  获取最新的map
List<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")); }

 


以上是关于对list中map中的key值进行排序的主要内容,如果未能解决你的问题,请参考以下文章

JAVA中对list map根据map某个key值进行排序

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

Hashtable一个键多个值 在遍历怎么做啊

java怎么取map中的key值

MATLAB 对 container.Map(key, value) 进行排序

Java中如何对Map的value或者key排序