当我们使用HashMap方法将一个键实例说“key”而一个Value实例说“value”在put()类中时,HashMap类在内部做了什么。当我们说hashMap.get(key)时,它如何取回值?

编辑:我在这里不需要详细信息,基本上是试图了解更大的图片以及equals()hashcode()方法在put()get()操作中的作用。

最佳答案

如果您谈论更高的图片,则如下所示。在这里,我将项目称为keyMap
放置项目时。

  • 计算 key
  • hashcode
  • 如果存在带有baskethashcode,则在该篮子中的键上使用equals方法搜索该篮子中的键,以确定是否要添加或替换该元素。
  • 如果不存在,则创建新的购物篮(重新哈希处理)并将该元素添加到其中。

  • 获取:
  • 获取 key
  • hashcode
  • 转到该篮子
  • 在键上使用equals进行迭代将使您从该篮子中返回该元素。
  • 关于java - HashMap put()和get()方法如何工作的内部原理(仅基本逻辑),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11559954/

    10-15 11:42