调整hashmap的大小

时间:2015-03-27 19:47:30

标签: java data-structures hashmap

hashmap的性能取决于Load factor(l)和Capacity(c)。如果映射中的条目数大于或等于(l * c),则它会更改内部数据结构,即增加存储区的容量或大小。我的问题是它如何计算hashmap中的条目数来检查上述条件?它是地图中的(键,值)对的总数还是正在使用的存储桶中的从属位置数?如果它是桶中的参与位置数量,您如何跟踪它们?我假设正在遵循链接以避免碰撞。

1 个答案:

答案 0 :(得分:1)

load factor是它所拥有的the number of elements与您的HashMap capacity的比率(即您有多少桶)

因此,使用array的{​​{1}}加载因子10 spaces意味着您的元素除以您的大小的时刻大于或等于.75(将意味着您的数组中有8个元素),数据结构必须重新生成才能降低比率。

HashMap通常跟踪每个75%操作所持有的number of elements并重新计算add/remove