不同的哈希码是否确保在哈希映射中分配不同的桶?

时间:2015-05-20 10:50:25

标签: java hash hashmap

我理解大部分hashmap的工作,根据hashcode放置键值对。我正在阅读这个问题https://stackoverflow.com/questions/10901752/what-is-the-significance-of-load-factor-in-hashmap#=

此处的评论和接受的答案之一是 如果地图的大小较大,则哈希冲突的概率较小。例如,如果地图的大小为4,则具有哈希码4,8,16和32的元素将放置在同一个存储桶中,但是如果地图的大小超过32,则每个项目将获得自己的存储桶。初始大小为4且载荷因子为1.0的地图(4个桶,但是单个桶中的所有4个元素)在这个示例中平均比负载因子0.75的另一个慢两倍(8个桶,两个桶填充 - 元素“4”和元素“8”,“16”,“32”)..

所以根据它可以将不同的哈希码分配给同一个桶,它是否正确?

Q1。有人可以更详细地解释一下吗?

Q2。我无法理解hashmap的初始大小如何影响这个?

我不认为这是重复的,我在上面的问题中找不到明确的答案。但第一个评论解释了它。将其添加为答案。

0 个答案:

没有答案