guava是否有一个采用自定义哈希/等于函数的Map实现?
有人知道Guava是否有与Functionaljava的HashMap相同的版本?
据我所知,没有。
但是您可以使用所需的Equivalence
策略将所有密钥包装在Equivalence.Wrapper
实例中:
Equivalence equiv = ... Map, V> map = ... map.put(equiv.wrap(key), value);
当然,这意味着您需要为地图中的每个条目添加一个额外的对象。 因此,我认为像你建议的地图实现会很好。
我知道你没有具体要求这个,所以这里是:
如果你想要的只是一个带有自定义等价函数的Map
,你可以通过使用带有自定义Comparator
的标准TreeMap
来实现相同的function。