了解hashmap的内部实现

时间:2017-02-09 09:30:30

标签: java collections core

如果我的理解是正确的,有人可以复习并告诉我。

在放置值时,生成密钥的哈希码,基于哈希码,我们找到桶并存储密钥值对。 现在在获取我们传递密钥的值时,会生成其哈希码,然后使用此哈希码我们找到存储键值的桶。并返回值。

这是正确的理解,如果2个差异密钥具有相同的哈希码,那么在获取密钥的值(获取时为密钥生成的哈希码)时,哈希码只是用于进入存储桶..?然后用equals方法检索值?

1 个答案:

答案 0 :(得分:0)

你理解正确。存储桶用于提高性能,因为计算哈希码并找到存储桶很快,同时尝试使用equals与hashmap中的每个对象进行比较是低效的。使用大型设备时,性能优势显而易见。