public static Map<String, Integer> sortMap(Map<String, Integer> map) { //利用Map的entrySet方法,转化为list进行排序 List<Map.Entry<String, Integer>> entryList = new ArrayList<Map.Entry<String, Integer>>(map.entrySet()); //利用Collections的sort方法对list排序 Collections.sort(entryList, new Comparator<Map.Entry<String, Integer>>() { @Override public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) { //正序排列,倒序反过来 return o2.getValue() - o1.getValue(); } }); //遍历排序好的list,一定要放进LinkedHashMap,因为只有LinkedHashMap是根据插入顺序进行存储 LinkedHashMap<String, Integer> linkedHashMap = new LinkedHashMap<String, Integer>(); for (Map.Entry<String,Integer> e : entryList ) { linkedHashMap.put(e.getKey(), e.getValue()); } return linkedHashMap; }
{A-1,V-2,D-8,B-1}
{A-1,B-1,V-2,D-8}
来源:https://blog.csdn.net/m0_67391270/article/details/126435013