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

Как используется метод hashCode в HashMap

Метод hashCode() в HashMap используется для определения индекса корзины (bucket), в которую будет помещена запись (ключ-значение).

Как это работает:

  1. При добавлении элемента вызывается hashCode() ключа.
  2. Полученный хеш преобразуется во внутренний индекс корзины (обычно через hash & (n-1), где n — размер массива корзин).
  3. Если в корзине уже есть элементы, происходит сравнение ключей через equals() для разрешения коллизий.

Пример:

java
Map<String, Integer> map = new HashMap<>();
map.put("key", 1); // Вызывает "key".hashCode() для определения корзины

Важно:

  • Если hashCode() реализован некорректно (возвращает разные значения для одинаковых объектов или одинаковые для разных), HashMap будет работать неэффективно.
  • Контракт между hashCode() и equals(): если a.equals(b) == true, то a.hashCode() == b.hashCode().
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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