2012-02-22 8 views

Respuesta

14

Por lo que yo sé, no.

Pero se puede envolver todas sus llaves en Equivalence.Wrapper casos, utilizando la estrategia Equivalence que necesita:

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

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

Por supuesto, esto significa que necesita un objeto adicional para cada entrada en su mapa. Por lo tanto, creo que sería agradable tener una implementación de mapas como tú.

7

Soy consciente de que no estás pidiendo esto específicamente, así que aquí va:
Si lo que quieres es un Map con una función de equivalencia personalizada que puede ser capaz de lograr lo mismo mediante el uso de la norma TreeMap que tiene una costumbre Comparator.

+0

Gracias, esto fue en realidad lo Estaba buscando, pero como en realidad no es la respuesta a la pregunta, decidí aceptar la otra. – ebaxt

+0

No hay problema. Me alegro de poder ayudar :) – Johannes

+5

Simplemente no espere que todo funcione correctamente si lo hace, como se explica en los javadocs TreeMap. –

Cuestiones relacionadas