我需要一个带有弱键或软键的并发哈希映射,等于是等于而不是==。
对于这种密钥,google collection默认选择==。
有没有办法覆盖这个选择?我该怎么办?
致以最诚挚的问候,
尼古拉斯。
答案 0 :(得分:0)
你不能在google-collections中这样做。目前,您无法在guava中执行此操作。但是,他们最近添加了Equivalence界面以及您期望的实现(equals
,null
- 知道equals
和==
)似乎他们可能允许您指定将来{/ 1}}应用于键/值的内容(请参阅this issue)。 Equivalence
代码目前似乎正在发生一些变化。
答案 1 :(得分:0)
您可以使用java.util.WeakHashMap
,其中包含对Collections.synchronizedMap()
如果线程争用很重要,它将不会像ConcurrentHashMap一样快。但它有你想要的行为。