2012-02-22 7 views

Odpowiedz

14

O ile wiem, nie.

Ale można owinąć wszystkie klucze w Equivalence.Wrapper przypadkach stosując strategię Equivalence co potrzeba:

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

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

Oczywiście to oznacza, że ​​trzeba dodatkowy przedmiot dla każdego wpisu w mapie. Myślę więc, że wdrożenie mapy, takie jak Ty, byłoby przyjemne.

7

Zdaję sobie sprawę, że jesteś nie pytając o to konkretnie, tak tu idzie:
Jeśli tylko chcesz to Map z funkcją zwyczaj równoważności może być w stanie osiągnąć to samo za pomocą standardowego TreeMap które ma zwyczaj Comparator.

+0

Dzięki, to było właśnie to Szukałem, ale ponieważ tak naprawdę nie jest to odpowiedź na pytanie, zdecydowałem się przyjąć drugą. – ebaxt

+0

Bez problemu. Cieszę się, że mogłem pomóc :) – Johannes

+5

Po prostu nie oczekuj, że wszystko zadziała poprawnie, jeśli to zrobisz, jak wyjaśniono w javadocs TreeMap. –

Powiązane problemy