aismvy 2018-11-07 11:07 采纳率: 50%
浏览 1655
已采纳

java中 往treeMap的构造方法中放 new new Comparator<User>() {}编译出错

public static void maptree1(Map map) {

    Map<String, User> m = new TreeMap<String, User>(new Comparator<User>() {
        @Override
        public int compare(User o1, User o2) {

            return o1.compareTo(o2);
        }

    });

    代码是这个

    ![图片说明](https://img-ask.csdn.net/upload/201811/07/1541588854_676951.png)
  • 写回答

5条回答 默认 最新

  • 飘落的秋风 2018-11-07 11:17
    关注

    Comparator 泛型应该是map的key对应的类型,或者是key的super类型

            Map<String, User> m = new TreeMap<String, User>(new Comparator<String>() {
    
                @Override
                public int compare(String o1, String o2) {
    
                    return o1.compareTo(o2);
                }
            });
    

    可以使用List ,把map的entry构造成一个List,然后使用list的比较器,这样就可以比较Entry的value了

     List<Map.Entry<String, User>> list = new ArrayList<Map.Entry<String, User>>(m.entrySet());
    
    Collections.sort(list, new Comparator<Map.Entry<String, User>>() {
        @Override
        public int compare(Entry<String, User> o1, Entry<String, User> o2) {
            return o1.getValue().compareTo(o2.getValue()); 
        }
    });
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 ansys fluent计算闪退
  • ¥15 有关wireshark抓包的问题
  • ¥15 需要写计算过程,不要写代码,求解答,数据都在图上
  • ¥15 向数据表用newid方式插入GUID问题
  • ¥15 multisim电路设计
  • ¥20 用keil,写代码解决两个问题,用库函数
  • ¥50 ID中开关量采样信号通道、以及程序流程的设计
  • ¥15 U-Mamba/nnunetv2固定随机数种子
  • ¥15 vba使用jmail发送邮件正文里面怎么加图片
  • ¥15 vb6.0如何向数据库中添加自动生成的字段数据。