Java – два ключа хэш-карты, которые ссылаются на одно и то же значение объекта? ⇐ JAVA
-
Anonymous
Java – два ключа хэш-карты, которые ссылаются на одно и то же значение объекта?
У меня есть два способа доступа к объекту...
Один — через UUID.
Один — через отображаемое имя.
В настоящее время я храню эти карты в памяти, так как хочу минимизировать нагрузку на процессор.
Один из способов добиться этого — перебрать все косметические объекты и сопоставить отображаемое имя, чтобы вернуть соответствующий косметический объект. Однако эти операции могут выполняться много раз в секунду, что приведет к слишком большой нагрузке на процессор.
Итак, на данный момент у меня это настроено следующим образом:
Private Map CosmeticIDs; частная Map CosmeticsDisplayNames; Косметическая косметика = новая косметика (UUID, displayName); CosmeticIDs.put(cosmetic.getID(), косметика); CosmeticsDisplayNames.put(cosmetic.getDisplayName(), new WeakReference(cosmeticIDs.get(cosmetic.getID()))); Эти карты загружаются при запуске приложения и никогда не изменяются.
Есть ли лучший способ сделать это? Похоже, я сейчас трачу много памяти.
У меня есть два способа доступа к объекту...
Один — через UUID.
Один — через отображаемое имя.
В настоящее время я храню эти карты в памяти, так как хочу минимизировать нагрузку на процессор.
Один из способов добиться этого — перебрать все косметические объекты и сопоставить отображаемое имя, чтобы вернуть соответствующий косметический объект. Однако эти операции могут выполняться много раз в секунду, что приведет к слишком большой нагрузке на процессор.
Итак, на данный момент у меня это настроено следующим образом:
Private Map CosmeticIDs; частная Map CosmeticsDisplayNames; Косметическая косметика = новая косметика (UUID, displayName); CosmeticIDs.put(cosmetic.getID(), косметика); CosmeticsDisplayNames.put(cosmetic.getDisplayName(), new WeakReference(cosmeticIDs.get(cosmetic.getID()))); Эти карты загружаются при запуске приложения и никогда не изменяются.
Есть ли лучший способ сделать это? Похоже, я сейчас трачу много памяти.