map排序
前提:map必须指定类型,比如
正例:Map
1. 按倒序排序
2. 按key正序排序
3. 或者常见一个新的map
代码如下:
@Test
public void test4() {
Map result = new HashMap();
result.put("id", 1);
result.put("type", "type");
result.put("key","key");
result.put("value","value");
result.put("status",0);
result.put("createDate", new Date());
result.put("updateDate",new Date());
result.put("sort","亚瑟");
Map finalMap = new LinkedHashMap<>();
// 1. 按倒序排序
//result.entrySet().stream()
// .sorted(Collections.reverseOrder(Map.Entry.comparingByKey()))
// .forEachOrdered(e -> finalMap.put(e.getKey(), e.getValue()));
// 2. 按key正序排序:
//result.entrySet().stream()
// .sorted(Comparator.comparing(e -> e.getKey()))
// .forEachOrdered(e -> finalMap.put(e.getKey(), e.getValue()));
//
//System.out.println(finalMap);
// 或者常见一个新的map
Map finalMapNew = result.entrySet().stream()
.sorted(Comparator.comparing(e -> e.getKey()))
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (oldVal, newVal) -> oldVal, LinkedHashMap::new));
System.out.println(finalMapNew);
}