19

如果我使用HashSet初始容量为 10 且负载因子为 0.5 的 a,则每添加 5 个元素,HashSet将增加或首先HashSet 增加 10 个元素,然后在 20 atc 时为 15。容量会增加吗?

4

3 回答 3

29

负载因子是衡量 HashSet 在其容量自动增加之前允许达到的程度。当哈希表中的条目数超过负载因子和当前容量的乘积时,对哈希表进行重新哈希(即重建内部数据结构),使哈希表的桶数大约增加一倍。

资源

于 2012-01-20T00:51:43.023 回答
7

HashMap 的默认初始容量为 16,加载因子为 0.75f(即当前映射大小的 75%)。负载因子表示 HashMap 容量应该在什么水平上翻倍。

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

于 2017-05-18T08:14:01.123 回答
3

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

于 2010-08-25T09:56:19.733 回答