原文链接:根据map的key进行排序 – 编程屋
1 升序排序
Map.Entry.comparingByKey()
Map<LocalDateTime, List<ExerciseReport>> twelveReportMap = twelveReportDataList.stream()
.collect(Collectors.groupingBy(ExerciseReport::getCreateDate));
System.out.println("twelveReportMap"+twelveReportMap);
//根据时间进行升序排序
Map<LocalDateTime, List<ExerciseReport>> result = new LinkedHashMap<>();
twelveReportMap.entrySet().stream().sorted(Map.Entry.comparingByKey()).forEachOrdered(x -> result.put(x.getKey(), x.getValue()));
排序前:
排序后:
2 降序排序
Collections.reverseOrder(Map.Entry.comparingByKey())
Map<LocalDateTime, List<ExerciseReport>> twelveReportMap = twelveReportDataList.stream()
.collect(Collectors.groupingBy(ExerciseReport::getCreateDate));
//根据时间进行升序排序
Map<LocalDateTime, List<ExerciseReport>> result = new LinkedHashMap<>();
twelveReportMap.entrySet().stream().sorted(Collections.reverseOrder(Map.Entry.comparingByKey())).forEachOrdered(x -> result.put(x.getKey(), x.getValue()));
排序前:
以上只是部分内容,为了维护方便,本文已迁移到新地址:根据map的key进行排序 – 编程屋