Встречается на 2% собеседований по Java
Как работает put() в hashCode
Метод put() в HashMap использует hashCode() для определения индекса корзины (bucket), в которую будет помещена пара ключ-значение.
- Вычисление хеша: Сначала вызывается
hashCode()ключа. - Дополнительное хеширование: Для уменьшения коллизий применяется внутренний метод
hash(), который дополнительно обрабатывает хеш-код. - Определение корзины: Индекс корзины вычисляется как
(n - 1) & hash, гдеn— размер массива корзин. - Разрешение коллизий: Если в корзине уже есть элементы, используется цепочка (в
LinkedListилиTreeNodeдля больших объемов).
Пример:
java
Map<String, Integer> map = new HashMap<>();
map.put("key", 42); // hashCode() "key" → индекс корзины → сохранениеЕсли hashCode() реализован некорректно (например, возвращает константу), это приведет к частым коллизиям и ухудшит производительность.

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