Коэффициент загрузки HashSet - PullRequest
17 голосов
/ 25 августа 2010

Если я использую HashSet с начальной емкостью 10 и коэффициентом нагрузки 0,5, то каждые 5 добавленных элементов HashSet будет увеличиваться или сначала HashSet увеличивается на 10 элементов, а после 15 в20 ат.емкость будет увеличена?

Ответы [ 3 ]

24 голосов
/ 20 января 2012

Коэффициент загрузки является мерой того, насколько полно HashSet может получить до того, как его емкость будет автоматически увеличена. Когда число записей в хеш-таблице превышает произведение коэффициента загрузки и текущей емкости, хеш-таблица перефразируется (то есть внутренние структуры данных перестраиваются), так что хеш-таблица имеет примерно вдвое больше сегментов.

источник

3 голосов
/ 18 мая 2017

По умолчанию начальная емкость HashMap составляет 16, а коэффициент загрузки равен 0,75f (т. Е. 75% от текущего размера карты). Коэффициент загрузки показывает, на каком уровне емкость HashMap должна быть удвоена.

Например, произведение емкости и коэффициента нагрузки на 16 * 0,75 = 12. Это означает, что после сохранения 12-й пары ключ-значение в HashMap его емкость становится 32.

3 голосов
/ 25 августа 2010

Это второй случай.LoadFactor для HashSet и hashMap является относительным фактором.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...