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