Встречается на собеседованиях • сегодня

Используешь ли equals при помещении элемента в бакет

При помещении элемента в HashMap сначала вычисляется хеш-код ключа (hashCode()), который определяет бакет. Если в бакете уже есть элементы, то для сравнения ключей используется equals(). Это нужно для проверки дубликатов - если equals() возвращает true, значение перезаписывается, иначе элемент добавляется в список/дерево бакета.

Пример:

java
Map<String, Integer> map = new HashMap<>();
map.put("key", 1);  // сначала hashCode(), потом equals() если коллизия
map.put("key", 2);  // перезапишет значение, т.к. equals() вернет true

Важно переопределять hashCode() и equals() согласованно: если equals() true, то hashCode() должен возвращать одинаковые значения.

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

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

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

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