guava是否有一个Map实现,它采用自定义哈希/等于函数?

时间:2012-02-22 11:53:36

标签: java guava

任何人都知道Guava是否有与Functionaljava的HashMap相同的版本?

2 个答案:

答案 0 :(得分:14)

据我所知,没有。

但您可以使用所需的Equivalence.Wrapper策略将所有密钥包装在Equivalence个实例中:

Equivalence<K> equiv = ...
Map<Equivalence.Wrapper<K>, V> map = ...

map.put(equiv.wrap(key), value);

当然,这意味着您需要为地图中的每个条目添加一个额外的对象。因此,我认为像你建议的地图实现会很好。

答案 1 :(得分:7)

我知道你没有具体要求这个,所以这里有:
如果您想要的是具有自定义等效功能的Map,则可以使用采用自定义TreeMap的标准Comparator来实现相同功能。