对map进行排序,首先要对map的entrySet排序,然后再将结果重新赋值给一个新的map.
List<Map.Entry<String, Integer>> list = new ArrayList<>();
list.addAll(map.entrySet());
Collections.sort(list, (o1, o2) -> o2.getValue()-o1.getValue());
Map<String, Integer> result = new LinkedHashMap<>();
for(Map.Entry<String, Integer> entry : list){
result.put(entry.getKey(), entry.getValue());
}
另外,hashmap是无序的,要使用LinkedMap或者TreeMap