gpt4 book ai didi

java - HashMap中的桶数是什么意思?

转载 作者:搜寻专家 更新时间:2023-10-30 19:56:44 24 4
gpt4 key购买 nike

我正在阅读有关 Hashmap 的内容。

An instance of HashMap has two parameters that affect its performance: initial capacity and load factor. The capacity is the number of buckets in the hash table.

如果Hashmap中有10个键值对。假设 Hashcode 不同。

每个遗嘱都在一个桶中,对吧?或者一个桶可以有多个键值对?

因为bucket在英文中的意思是可以存放很多对象的大东西。

最佳答案

没错,每个桶可以有多个键值对。

对象的 hashCode() 通过以下表达式确定它进入哪个桶:object.hashCode() % n,其中 n = 桶的总数和% 是取模运算符。

大多数情况下,对象会很好地分布在桶中,但您无法保证它们的去向。这取决于数据和 hashCode 函数。

显然,当 hashCode 实现不佳时,hashmap 的性能会下降。

另请阅读相关的 equals/hashcode 契约。

关于java - HashMap中的桶数是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18636576/

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