Есть ли реализация java.util.Map
, которая не использует HashCode?Реализация Java Map не основана на HashCode
У меня следующая проблема:
- хранить объект, связанный с другим объектом на HashMap;
- Измените свойство из ключевого объекта, используемого на шаге 1;
- Поскольку хэш-код используется для хранения ключей на регулярной реализации HashMap, когда я выполняю
get()
наHashMap
, я получаю пустой, потому что старый объект хэш-код отличается на шаге 1.
ли есть решение для этого? Или я должен использовать только неизменяемые поля для моих методов equals/hashCode?
Как хэш-карта знает, что вы только что изменили свой внутренний ключ? Удалите и повторно вставьте или не используйте изменяемые ключи для начала. – Voo
это была не моя идея ... моя цель - использовать impl, который просто использует equals вместо hashmap, даже если не оптимизирован. –