HashMap总是为containsValue()返回false,

时间:2016-02-02 04:15:20

标签: java hashmap

我正在实现一个HashMap,即使字符重复,它也总是返回false。我尝试了其他Stack Overflow问题中给出的解决方案,但没有帮助,Hashtable与函数contains()的情况相同。

 HashMap<Character, Boolean> ht=new HashMap<Character, Boolean>();
    for(int i=0; i<s.length(); i++){
        if(!ht.containsValue(new Character(s.charAt(i))))
            ht.put(new Character(s.charAt(i)),true);
        else
            return false;
    }
    return true;

1 个答案:

答案 0 :(得分:2)

如评论中所述,请使用containsKey()

 HashMap<Character, Boolean> ht=new HashMap<Character, Boolean>();
    for(int i=0; i<s.length(); i++){
        if(!ht.containsKey(new Character(s.charAt(i))))
            ht.put(new Character(s.charAt(i)),true);
        else
            return false;
    }
    return true;