Java弱哈希映射 - 需要根据价值的缺陷删除条目,而不是关键 [英] Java Weak Hash Map - Need to remove entry based on weakness of value, not key

查看:91
本文介绍了Java弱哈希映射 - 需要根据价值的缺陷删除条目,而不是关键的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

因此,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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆