繁体   English   中英

hashmap如何确保在哈希表中为每个哈希值分配唯一索引

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

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

HashMap ,基础存储区数组大小在初始化时设置,并且可以相应地调整大小-项的存储区索引(在indexFor )由key.hashCode() % (table.length - 1)

hashmap如何确保在哈希表中为每个哈希值分配唯一索引

不必是唯一的(请参见下文)

为什么无法将多个哈希值映射到同一索引

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM