Вопрос проверяет понимание внутренних механизмов HashMap и причин логических ошибок при изменении ключей.
Короткий ответ
Ключи HashMap должны быть неизменяемыми, потому что их hashCode() и equals() используются для определения места хранения. Если состояние ключа изменится после добавления в карту, HashMap потеряет возможность найти этот элемент. Это приводит к тому, что данные «пропадают» из карты. Ошибка не вызывает исключений и проявляется только логически. Поэтому неизменяемость — критическое требование.
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.