Java中是否存在弱/软双向映射?

Java中是否存在弱/软双向映射?,java,data-structures,weak-references,bimap,Java,Data Structures,Weak References,Bimap,我想一个“符号字母表”有一个弱/软参考双向地图。类似于Apache的通用BidiMap(或Guava的BiMap),具有类似WeakMap的界面 一个解决方案是使用BiMap并偶尔清理条目,但这不是最优的。有什么建议吗?如果您想构建一个自定义实现,几乎可以肯定正确的方法是构建您自己的自定义哈希表,并维护一个用于跟踪删除的引用队列。可行,但您提出的解决方案根本不是一个解决方案,因为你无法在WeakReference的地图中查找K。如果你向Guava提交了一份功能请求,并对你为什么想要这样一个结构做

我想一个“符号字母表”有一个弱/软参考双向地图。类似于Apache的通用
BidiMap
(或Guava的
BiMap
),具有类似
WeakMap
的界面


一个解决方案是使用
BiMap
并偶尔清理条目,但这不是最优的。有什么建议吗?

如果您想构建一个自定义实现,几乎可以肯定正确的方法是构建您自己的自定义哈希表,并维护一个用于跟踪删除的
引用队列。

可行,但您提出的解决方案根本不是一个解决方案,因为你无法在
WeakReference
的地图中查找
K
。如果你向Guava提交了一份功能请求,并对你为什么想要这样一个结构做了更多解释,这可能也会有所帮助。是的,关于“BiMap”,你是对的。我放弃了那个解决方案。我现在已经在ApacheCommons的“AbstractDualBidiMap”上实现了一些东西(有两个“ReferenceMaps”),但我仍在测试它,看看它是否能像预期的那样工作。谢谢