比较器写成这样就行了,你为什么还要放到StringBuilder中去,多此一举!Entry也是Object的子类啊,也可以比较的!
你的比较器单独弄一个文件或放到Map1的外面,你那样写是Map1的内部类.
public class MyComparator implements Comparator<Entry<Character,Integer>> {
@Override
public int compare(Entry<Character, Integer> o1,
Entry<Character, Integer> o2) {
int gap1 = o1.getKey() - o2.getKey(); //比较Key的差值
int gap2 = o1.getValue() - o2.getValue(); //比较Value的差值
return gap2 == 0? gap1 : gap2; //如果Value一样,就返回Key的差值,否则返回Value的差值
}