Я читал много сообщений за последний час, но я все еще не очень понимаю концепцию использования неизменяемых объектов в качестве ключей в Hashmap. У меня есть hashmap, который имеет свой ключ как String. Значение в hashmap - это MyStore, где MyStore представляет информацию о принадлежащих мне магазинах. Строка представляет адрес. В моем коде логика у меня есть, я сначала смотрю на карту для этого ключа, если присутствует → получаю его значение, если его нет в нем помещать в hashmap. Мой менеджер просто сказал мне, что ключ изменится в будущем, то есть адрес моих магазинов изменится в будущем. Он сказал в этом случае, моя логика первой проверки, если ключ существует, не будет работать. Я не понимаю, что он здесь подразумевает. Я хочу четко понимать нижеследующие моменты -
- Разница между изменяемыми и неизменяемыми ключами для хэш-карты.
- Что произойдет, если вы используете неизменяемый ключ, который может измениться? - Я знаю, что это не имеет смысла, но я хочу четко понять, о чем говорит мой менеджер.
- Некоторые сообщения говорят о строках, если они используются в качестве ключей в кеше хэш-карты, их хэш-код. Что это значит?
- Если можно сказать, что я использовал изменяемые объекты в качестве ключей в моем хэшмапе, который реализовал hashcode и equals, то будет ли он работать? Я предполагаю, что это произойдет, потому что если ключ изменится, метод contains будет выглядеть, если ключ присутствует. Если он отсутствует, он помещает запись, чтобы вы могли ее получить в будущем.
Я не хочу создавать дублирующийся пост, если это обсуждалось ранее. Если я пропустил чтение сообщения, на котором есть ответы на все мои вопросы, укажите мне. Если нет, пожалуйста, объясните в непрофессиональных терминах вышеуказанные вопросы, которые у меня есть, поэтому это полезно в будущем для других читателей:). Не стесняйтесь редактировать мою тему сообщения, поэтому в будущем, если у кого-то есть аналогичный вопрос, они приземляются здесь напрямую:)