2012-02-22 12 views

回答

14

据我所知,没有。

但是你可以使用Equivalence策略,你需要包装在Equivalence.Wrapper情况下,所有的按键:

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

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

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

7

我知道,你不会问这个特别,所以这里有云:
如果你想要的是一个自定义的等价功能的Map您可以通过使用标准的TreeMap,需要一个定制来达到同样的Comparator

+0

谢谢,这实际上是什么我一直在寻找,但由于这个问题实际上并不是我接受另一个问题的答案。 – ebaxt 2012-02-23 07:25:28

+0

没问题。很高兴我可以帮助:) – Johannes 2012-02-23 10:39:59

+5

只要不这样做,正如TreeMap javadocs中所解释的那样,不要指望所有东西都能正常工作。 – 2012-02-23 18:00:03