sort map by value
Map<String, Integer> m = new TreeMap<String, Integer>();
m.put(key, value);

Set<Map.Entry<String, Integer>> treeSet = new TreeSet<Map.Entry<String, Integer>>(
new Comparator<Map.Entry<String, Integer>>() {
public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
Integer d1 = o1.getValue();
Integer d2 = o2.getValue();
int r = d2.compareTo(d1);
if (r!=0) return r;
else return o2.getKey().compareTo(o1.getKey());
}
});
treeSet.addAll(m.entrySet());
for (Map.Entry me : treeSet) {
System.out.println(me.getKey() + "," + me.getValue());
}
m.put(key, value);

Set<Map.Entry<String, Integer>> treeSet = new TreeSet<Map.Entry<String, Integer>>(
new Comparator<Map.Entry<String, Integer>>() {
public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
Integer d1 = o1.getValue();
Integer d2 = o2.getValue();
int r = d2.compareTo(d1);
if (r!=0) return r;
else return o2.getKey().compareTo(o1.getKey());
}
});
treeSet.addAll(m.entrySet());
for (Map.Entry me : treeSet) {
System.out.println(me.getKey() + "," + me.getValue());
}
posted on 2008-07-27 17:18 waterye 閱讀(483) 評論(0) 編輯 收藏 所屬分類: Java