Java弱哈希映射 - 需要根据价值的缺陷删除条目,而不是关键 [英] Java Weak Hash Map - Need to remove entry based on weakness of value, not key
本文介绍了Java弱哈希映射 - 需要根据价值的缺陷删除条目,而不是关键的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
WeakHashMap
可以让我们创建一个映射,如果它的键变弱,那么它的条目将被删除。但是,如何在地图中的值变得较弱时创建一个Map条目被删除的地图?我希望使用地图的原因是作为全局哈希表,它根据其ID来跟踪对象。 ID - - >对象地址
键--->价值
(其中 ID
是一个文本字符串)
我想要在对象地址变弱时删除键值对,而不是指向它们的字符串。任何人对此有何看法?
解决方案
例如, Guava :
地图< ; ...,...> m = new MapMaker()。weakValues()。makeMap();
So the Java WeakHashMap
lets one create a map whose entries are removed if its keys become weak. But how can I create a Map whose entries are removed when the values in the map become weak? The reason I want to use a map is as a Global Hash Table which keeps track of objects according to their ID's.
ID ---> Object Address
Key ---> Value
(Where ID
is a text string)
I want key-value pairs to be removed when the object addresses become weak, not the Strings that point to them. Anyone any thoughts on this?
解决方案
Such a map is supported, for example, in Guava:
Map<..., ...> m = new MapMaker().weakValues().makeMap();
这篇关于Java弱哈希映射 - 需要根据价值的缺陷删除条目,而不是关键的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文