Встречается на 2% собеседований по Java
Определяется ли hashCode значения при добавлении элемента в HashMap
Да, hashCode объекта вычисляется при добавлении элемента в HashMap. Это происходит в момент вызова метода put(). Если объект уже присутствует в HashMap, hashCode не пересчитывается, так как он кэшируется в объекте (если объект immutable).
Пример:
java
Map<String, Integer> map = new HashMap<>();
map.put("key", 1); // hashCode строки "key" вычисляется здесьВажно:
- Если объект mutable и его поля изменяются после добавления в HashMap, это может нарушить работу HashMap, так как hashCode изменится, но бакет останется прежним.
- Всегда переопределяйте
hashCode()иequals()для кастомных объектов, используемых в качестве ключей.

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