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

Что будет при добавлении ключа с одинаковым hashCode в HashMap и equals равным True

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

Пример:

java
Map<String, Integer> map = new HashMap<>();
map.put("a", 1);
map.put("a", 2); // Перезапишет значение на 2
System.out.println(map); // {a=2}

Если hashCode() одинаковый, но equals() == false, тогда произойдет коллизия - оба ключа попадут в один бакет, но будут храниться как разные записи (обычно в виде связного списка или дерева).

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

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

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

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