A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 赵国刚 中级黑马   /  2013-8-11 11:41  /  1744 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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>(

3 个回复

倒序浏览
TreeMap是根据key进行排序的,所以你要做的是让key具有比较性。

你new TreeMap<Character,Integer>();说明这个TreeMap的key是一个Character,你要做的就是让其中保存的Character具有比较性。
因此你传给构造方法的比较器应该是 new Comparator<Character>(){}而不是 new Comparator<Map.Entry<Character,Integer>>(){}。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马