1

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

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

有没有办法覆盖这个选择?我应该如何进行?

此致,

尼古拉斯。

4

2 回答 2

0

你不能在谷歌收藏中这样做。目前,你也不能在番石榴中做到这一点。但是,他们最近添加了一个Equivalence接口和您期望的实现(equalsnull-awareequals==),看起来他们可能允许您指定Equivalence将来应该用于键/值的内容(请参阅此问题) . MapMaker此时代码似乎正在发生一些变化。

于 2010-05-17T19:54:07.653 回答
0

您可以使用java.util.WeakHashMap, 与调用Collections.synchronizedMap()

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

于 2012-09-20T20:03:52.043 回答