У меня hashMap с «Документом» в качестве ключей и «DocumentSections» в качестве значений. Map <Document, DocumentSection>
. Документ имеет множество других переменных-членов (примитивных и не примитивных). Документ имеет также уникальное значение String. Мой вопрос заключается в том, что лучше заменить документ как ключ на это уникальное строковое значение из документа, например. HashMap<document.getValue(), DocumentSection>
. где value ist уникальная строка. Будет ли моя программа потреблять меньше памяти, если я использую строки как ключи и не больше объекта Document в качестве ключа?распределение памяти для хэш-карты
Благодаря
Спасибо за ваши ответы. Я перезаписал свои equlas и hashmethode с этим уникальным строковым значением этого документа. Таким образом, даже Document изменен, это строковое значение является alwasy constant. Поэтому я уверен, что проблем с использованием объектов Document в качестве ключей не будет. Это правильно? или я ошибаюсь? Спасибо – duracell
Тогда вы можете использовать оба метода - они будут эквивалентны. – assylias
, если у вас есть переопределенный hashcode и equals, если соглашение последовало, нечего волноваться, предполагая, что вы сделали равные и хэш-коды тщательно – abhi