标题: 程序有错误求解释、、、 [打印本页] 作者: 赵国刚 时间: 2013-8-11 11:41 标题: 程序有错误求解释、、、 TreeMap<Character,Integer> tm = new TreeMap<Character,Integer>(
new Comparator<Map.Entry<Character,Integer>>(){
public int compare(Map.Entry<Character,Integer> me1, Map.Entry<Character,Integer> me2){
int mun = me1.getValue().compareTo(me2.getValue());
if(mun==0)
return me1.getKey().compareTo(me2.getKey());
return mun;
}
});
new TreeMap然后以匿名内部类的形式传了一个比较器进去,编译报错:
找不到符号
符号: 构造函数 TreeMap(<匿名 java.util.Comparator<java.util.Map.Entry<java.lang.Character,java.lang.Integer>>>)
位置: 类 java.util.TreeMap<java.lang.Character,java.lang.Integer>
TreeMap<Character,Integer> tm = new TreeMap<Character,Integer>(作者: longlangcx 时间: 2013-8-11 15:47
TreeMap是根据key进行排序的,所以你要做的是让key具有比较性。
你new TreeMap<Character,Integer>();说明这个TreeMap的key是一个Character,你要做的就是让其中保存的Character具有比较性。
因此你传给构造方法的比较器应该是 new Comparator<Character>(){}而不是 new Comparator<Map.Entry<Character,Integer>>(){}。