前提:map必须指定类型,比如
正例:Map<String,String> ids = new HashMap<>();
反例:Map ids = new HashMap();这种转回map时会有问题
1.按倒序排序:
Map<String, String> finalMap = new LinkedHashMap<>();
ids.entrySet().stream().sorted(Collections.reverseOrder(Map.Entry.comparingByKey())).forEachOrdered(e -> finalMap.put(e.getKey(), e.getValue()));
2.按key正序排序:
Map<String, String> finalMap = new LinkedHashMap<>();
ids.entrySet().stream().sorted(Comparator.comparing(e -> e.getKey())).forEachOrdered(e -> finalMap.put(e.getKey(), e.getValue()));
或者
Map<String, String> finalMap = ids.entrySet().stream().sorted(Comparator.comparing(e -> e.getKey())).collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (oldVal, newVal) -> oldVal, LinkedHashMap::new));