任何人都知道Guava是否有与Functionaljava的HashMap相同的版本?
答案 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
来实现相同功能。