如何排序hashmap
由整數值,另一個,我發現答案是here排序一個HashMap的整數值遞減
是寫葉夫根尼·Dorofeev,他的回答是這樣的
HashMap<String, Integer> map = new HashMap<String, Integer>();
map.put("a", 4);
map.put("c", 6);
map.put("b", 2);
Object[] a = map.entrySet().toArray();
Arrays.sort(a, new Comparator() {
public int compare(Object o1, Object o2) {
return ((Map.Entry<String, Integer>) o2).getValue().compareTo(
((Map.Entry<String, Integer>) o1).getValue());
}
});
for (Object e : a) {
System.out.println(((Map.Entry<String, Integer>) e).getKey() + " : "
+ ((Map.Entry<String, Integer>) e).getValue());
}
輸出
c : 6
a : 4
b : 2
我的問題是如何成爲加侖 ??如果我想排序HashMap
Asc我該怎麼做?
最後一個問題是:如何排序後的第一個元素?
你也許可以通過在'compare'方法切換'o2'用'o1'顛倒順序 - 獲得的第一個元素就是'a [0]'然後使用與for循環相同的邏輯來獲得值和密鑰!? – luk2302
thanx @ luk2302 :) –
可能的重複[如何對Java中的值排序映射?](http://stackoverflow.com/questions/109383/how-to-sort-a-mapkey-value-on java中的值) –