Встречается на 2% собеседований по Java
Сразу ли поместятся элементы в бакет после сравнения hashCode
При добавлении элемента в HashMap сначала вычисляется его hashCode, затем определяется бакет (индекс в массиве) через hash & (n-1). Однако, если hashCode'ы разные, но дают одинаковый индекс (коллизия), элементы помещаются в один бакет как связанный список (или дерево, если размер > 8).
Пример:
java
Map<String, Integer> map = new HashMap<>();
map.put("Aa", 1); // hashCode("Aa") = 2112
map.put("BB", 2); // hashCode("BB") = 2112Оба ключа попадут в один бакет, так как их hashCode'ы совпадают, несмотря на разные объекты. При коллизиях поиск замедляется, так как требуется дополнительное сравнение через equals().

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы