首页 > 解决方案 > TreeMap#containsKey 在 put 之后返回 false

问题描述

我知道这个问题之前已经被处理过,但我已经阅读了问题并试图解决我自己的问题,但没有结果,我想我在 TreeMap 或 Map 实现中遗漏了一些东西......

if(arme != null){
    if(!hommesArmes.containsKey(arme)){
        System.out.println(hommesArmes.containsKey(arme));
        hommesArmes.put(arme, new TreeSet<Homme>());
        System.out.println(hommesArmes.containsKey(arme));
    }
    hommesArmes.get(arme).add(homme);
}

为什么当我运行它时我会得到两次错误?我试过用 Integer 而不是 Arme 并且它有效,我不明白我做错了什么。

标签: javatreemapcontainskey

解决方案


我传递给 TreeMap 的构造函数的 Comparator 对象有问题。


推荐阅读