gpt4 book ai didi

java - 哈希的内部工作。 put和get方法实现

转载 作者:行者123 更新时间:2023-11-30 11:05:22 25 4
gpt4 key购买 nike

我熟悉 HashMap 的工作原理和键值概念。

我知道 HashCode 方法根据对象的地址和传递的 key 生成哈希码。

但我想知道它是如何在恒定时间内插入和搜索的,即 O(1)

我需要详细了解调用 put() 方法和 get() 方法时实际发生了什么。赋予我在 O(1) 时间内获取值的能力的哈希码值是多少。

最佳答案

hashCode 可以在 O(1) 时间内计算出来,并根据 hashCode 映射到数组的索引。数组的每个索引都包含条目的链接列表,这些条目的键映射到相同的索引(或存储桶)。该映射以保持每个链表中元素的平均数量不变的方式进行维护,这意味着根据其键的 hashCode 在 HashMap 中定位条目需要 O(1) 时间.

关于java - 哈希的内部工作。 put和get方法实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29665963/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com