HashSet加载因子

时间:2010-08-25 09:52:50

标签: java hashset

如果我使用初始容量为10且载客率为0.5的HashSet 然后每增加5个元素HashSet将增加HashSet 增加了10个元素,并且在20个atc时增加了15个元素。容量会增加吗?

3 个答案:

答案 0 :(得分:23)

负载系数衡量HashSet在其容量自动增加之前可以获得多长。当哈希表中的条目数超过加载因子和当前容量的乘积时,哈希表将被重新哈希(即,重建内部数据结构),以便哈希表具有大约两倍的桶数。 / p>

source

答案 1 :(得分:3)

这是第二种情况。 HashSet和hashMap的loadFactor是一个相对因子。

答案 2 :(得分:3)

HashMap的默认初始容量为16,加载因子为0.75f(即当前地图大小的75%)。负载因子表示HashMap容量应该加倍的水平。

例如容量和负载系数的乘积为16 * 0.75 = 12.这表示在将第12个键值对存储到HashMap中之后,其容量变为32。