当我们将键值对放入HashMap时,可能会出现两个键的哈希码相同的情况,那么在这种情况下如何处理键值的存储和检索。
更新:
据我所知,如果两个对象的键具有相同的哈希码,则这两个键对象将被存储在同一个桶中,当我使用
更新:
据我所知,如果两个对象的键具有相同的哈希码,则这两个键对象将被存储在同一个桶中,当我使用
get(key)
方法时,将通过object.equals()
确定要获取哪个元素。get(key)
方法时,将通过object.equals()
确定要获取哪个元素。当你想要从哈希映射中检索某个对象并且存在多个具有相同哈希码的对象时,Java将调用equals()
方法以确定正确的对象。
这就是为什么在重写hashCode()
时重写equals()
非常重要的原因。
equals()
方法进行比较,直到找到匹配项为止。 - Andrew Logvinov