Встречается на 2% собеседований по Java
Почему изменяемые ключи в Map могут привести к ошибкам
Использование изменяемых объектов в качестве ключей Map опасно, так как изменение ключа после добавления в Map может нарушить его внутреннюю структуру. HashMap и другие реализации Map полагаются на hashCode() и equals() для хранения и поиска элементов. Если ключ изменяется, его хэш-код может измениться, и Map не сможет правильно найти или удалить элемент.
Пример:
java
Map<MutableKey, String> map = new HashMap<>();
MutableKey key = new MutableKey("initial");
map.put(key, "value");
key.setValue("modified"); // Изменяем ключ
System.out.println(map.get(key)); // Может вернуть nullРешение:
- Используйте неизменяемые объекты (
String,Integerи т. д.) в качестве ключей. - Если нужен изменяемый ключ, убедитесь, что он не изменяется после добавления в
Map. - Переопределяйте
hashCode()иequals()корректно, если создаёте свои классы для ключей.

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