Har*_*dik 5 java sorting hashmap
在我的项目中,我已经采用了这样的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
使用排序规则函数调用.