Collections.sort对 List<map>按照日期大小进行排序
1、查询的数据结果,这里的数据有重复的天数的:
List<InspectStatisticsVo> list = inspectStatisticsMapper.queryInspectList(inspectStatisticsVo);
2、将数据按照日期进行分组,分组之后一天为一组数据,数据放在map中:
Map<String, List<InspectStatisticsVo>> map = list.stream().collect(Collectors.groupingBy(InspectStatisticsVo::getRecordTime));
3、新建一个接收日期排序后的listA,格式是list<map>形式:
List<Map.Entry<String, List<InspectStatisticsVo>>> listA = new ArrayList<>(map.entrySet());
4、用Collections.sort进行排序,有升序和倒叙两种:
Collections.sort(listA, new Comparator<Map.Entry<String, List<InspectStatisticsVo>>>() { public int compare(Map.Entry<String, List<InspectStatisticsVo>> o1, Map.Entry<String, List<InspectStatisticsVo>> o2) { return (o1.getKey()).toString().compareTo(o2.getKey());//日期升序 /*return (o2.getKey()).toString().compareTo(o1.getKey());*/ //日期倒叙 } });
上一篇:
IDEA上Java项目控制台中文乱码