什么问题/陷阱,必须重写时,必须考虑equals和hashCode?
根据我的理解,我认为:
我对么?
现在,如果我是正确的,我有以下问题:HashMap内部使用对象的哈希码.因此,如果两个对象可以具有相同的哈希码,那么它如何HashMap使用它所使用的键?
有人可以解释HashMap内部如何使用对象的哈希码吗?
我正在经历的add方法HashSet.有人提到
如果此set已包含该元素,则调用将保持set不变并返回false.
但是该add方法在内部保存了值HashMap
public boolean add(E e) {
return map.put(e, PRESENT)==null;
}
Run Code Online (Sandbox Code Playgroud)
陈述的put方法HashMap
将指定的值与此映射中的指定键相关联.如果映射先前包含键的映射,则替换旧值.
因此,如果该put方法HashMap取代了旧的值,该怎么办HashSet add法叶集重复的元素的情况下保持不变?