软键/弱键MapMAker等于键

时间:2010-05-17 19:22:48

标签: java guava

我需要一个带有弱键或软键的并发哈希映射,等于是等于而不是==。

对于这种密钥,google collection默认选择==。

有没有办法覆盖这个选择?我该怎么办?

致以最诚挚的问候,

尼古拉斯。

2 个答案:

答案 0 :(得分:0)

你不能在google-collections中这样做。目前,您无法在guava中执行此操作。但是,他们最近添加了Equivalence界面以及您期望的实现(equalsnull - 知道equals==)似乎他们可能允许您指定将来{/ 1}}应用于键/值的内容(请参阅this issue)。 Equivalence代码目前似乎正在发生一些变化。

答案 1 :(得分:0)

您可以使用java.util.WeakHashMap,其中包含对Collections.synchronizedMap()

的调用

如果线程争用很重要,它将不会像ConcurrentHashMap一样快。但它有你想要的行为。