設定值如何排序的通用哈希映射字符串和整數,在Java中的設定值:如何排序的通用哈希映射字符串和整數在Java
這裏是這個答案,但是需要figureout一個優化的方式。
HashMap<String,Integer> hash = new HashMap<String,Integer>();
hash.put("king", 2);
hash.put("Queen", 3);
hash.put("Pawn", 1);
hash.put("Minister", 7);
hash.put("Horse", 6);
List<Map.Entry<String,Integer>> list =
new LinkedList<Map.Entry<String,Integer>>(hash.entrySet());
Collections.sort(list, new Comparator<Map.Entry<String,Integer>>() {
public int compare(Map.Entry<String,Integer> o1, Map.Entry<String,Integer> o2)
{
return (o1.getValue()).compareTo(o2.getValue());
}
});
Map<String,Integer> result = new LinkedHashMap<String,Integer>();
for (Map.Entry<String,Integer> entry : list)
{
System.out.println(entry.getKey()+" === "+entry.getValue());
}
優化了什麼意義? – azurefrog
這是http://codereview.stackexchange.com/的問題嗎? – tnw
瞭解此數據結構的用途以及哪些用例需要優化將會有所幫助。這可能是不同的數據結構更適合您的需求。 –