1、HashMap本身是无序的,不能直接对其排序
2、要排序的话,只能先转换成List,然后对List进行排序,最后再转换成LinkedHashMap
3、这样做就完全是自定义排序,可以做多key排序,也可以做多value排序
HashMap<String, String> paramMap= new HashMap<String, String>();
map.put("b", 1);
map.put("a", 2);
map.put("d", 3);
map.put("c", 4);
List<Map.Entry<String, String>> paramList = new ArrayList<>(paramMap.entrySet());
Collections.sort(paramList, ((o1, o2) -> {
return o1.getKey().compareTo(o2.getKey());
}));
LinkedHashMap<String, String> sortParamMap = new LinkedHashMap<>();
paramList.forEach(o -> {
sortParamMap.put(o.getKey(), o.getValue());
});