Встречается на 2% собеседований по Java

Что произойдет при коллизии в HashMap

При коллизии в HashMap (когда разные ключи имеют одинаковый хэш-код) элементы с такими ключами помещаются в одну и ту же корзину (bucket). В Java 8+ при достижении определенного порога (TREEIFY_THRESHOLD = 8) список в корзине преобразуется в сбалансированное дерево (TreeNode) для улучшения производительности с O(n) до O(log n)).

Пример:

java
Map<String, Integer> map = new HashMap<>();
map.put("Aa", 1);  // Хэш-код 2112
map.put("BB", 2);  // Тот же хэш-код 2112
// Оба элемента попадут в одну корзину

Если capacity превышает LOAD_FACTOR (по умолчанию 0.75), происходит rehashing - увеличение размера массива корзин в 2 раза и перераспределение элементов.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы