java HashMap排序<String,Integer>.怎么排序呢?

Har*_*dik 5 java sorting hashmap

可能重复:
如何在Java中的值上对Map <Key,Value>进行排序?

在我的项目中,我已经采用了这样的HashMap

HashMap degree = new HashMap();

假设我有:

degree.put("a",5);
degree.put("b",2);
degree.put("c",4);
degree.put("d",2);
degree.put("e",3);
degree.put("f",5);
Run Code Online (Sandbox Code Playgroud)

现在我必须根据给定的Integer值对此列表进行排序

排序的HashMap应该是:

{a = 5,f = 5,c = 4,e = 4,b = 4,d = 2}

我怎么能这样做?

bma*_*ies 11

A HashMap无序集合.它没有排序顺序.即使是TreeMap按键排序,也不是值.

如果要按值的排序顺序准备排序列表,则必须创建适当的对象,例如ArrayList<Map.Entry<String,Integer>>,迭代HashMap并插入所有条目,然后Collections.sort使用排序规则函数调用.