如果我使用HashSet
初始容量为 10 且负载因子为 0.5 的 a,则每添加 5 个元素,HashSet
将增加或首先HashSet
增加 10 个元素,然后在 20 atc 时为 15。容量会增加吗?
问问题
15385 次
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 回答