gpt4 book ai didi

java - hashmap如何保证每个哈希值在哈希表中都被赋予唯一的索引

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

我想了解 HashMap 的 hash() 和 indexOf() 方法如何将哈希表中的唯一索引分配给 HashMap 。换句话说,为什么不能将多个哈希值映射到同一个索引。

最佳答案

HashMap 中,底层桶数组的大小在初始化时设置,并且可以相应地调整大小 - 项目的桶索引(在 indexFor 中)由 key.hashCode() % (table.length - 1)

how does hashmap ensure that each hash value is assigned a unique index in the hash table

不必是唯一的(见下文)

why it is not possible for multiple hash values to be mapped to the same index

这是可能的 - 多个 Entry(键/值对)可以映射到单个 bucket。适当的哈希表实现通过让每个 bucket 能够容纳多个 Entry 来克服这个问题。 HashMap 特别使用链表 - 如果一个项目映射到一个已经被占用的 bucket,该项目将被添加到 bucket 链表的开头。

关于java - hashmap如何保证每个哈希值在哈希表中都被赋予唯一的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30626995/

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