谢谢你了,我最近查API找到了另外一个方法,将TreeMap的entrySet-->Object数组(toArray()方法)-->使用Arrays.sort()(确切的是<T> void sort(T[] a, Comparator<? super T> c)),本来应该用泛型的,但是老没有试成功,就没有使用直接使用Object。
Object[] t= treeMap.entrySet().toArray();
Arrays.sort(t,
new Comparator() {
@Override
public int compare(Object o1, Object o2) {
// TODO Auto-generated method stub
return ((Map.Entry<Character, Integer>)o1).getValue()-((Map.Entry<Character, Integer>)o2).getValue();
}
});
StringBuffer sb = new StringBuffer();
for(int i=0;i<t.length;i++){
sb.append(((Map.Entry<Character,Integer>)t[i]).getKey()+" : "+((Map.Entry<Character,Integer>)t[i]).getValue()+",");
}
sb.deleteCharAt(sb.length()-1);
return sb.toString();
不知能否进一部改进? |