При определении конструктора для HashSetПочему коэффициент заполнения по умолчанию для HashSet Constructor 0.75?
HashSet<Integer> hs = new HashSet<Integer>(10,(double)0.50);
Второй аргумент называется «Fill Ratio» имеет значение по умолчанию 0,75.
Я хотел знать, есть ли логическая причина, по которой он не выполняет свои обязательства до 0,75.
Читайте документ 'hashset'. – passion
Hashtables страдают от _hash collisions_ и более высокого коэффициента нагрузки (более общий термин, чем «коэффициент заполнения») означает больше столкновений. Это уменьшает производительность ввода и поиска. Любой выбранный вами фактор даст вам некоторый компромисс между пространством и временем, а 0.75 - эмпирически выбранное значение. Это хорошо для дизайна «отдельной цепочки» хэш-таблицы; дизайн _open-address_ гораздо более чувствителен к коллизиям и требует более низкого коэффициента нагрузки (0,70 - максимальное полезное значение). –