2009-11-05 13 views
5

Necesito un tipo de mapa al que se pueda acceder en dos direcciones, por lo tanto, con una estructura de clave en lugar de clave-valor. ¿Esto existe en Java? Si no, ¿cuál es la mejor manera de crearlo?clave Java - mapa de teclas

Así ejemplo:

mySpecialHashMap.put("key1", "key2"); 

mySpecialMap.getL2R("key1") returns "key2"; 
mySpecialMap.getR2L("key2") returns "key1"; 
+3

Dupe: http://stackoverflow.com/questions/1670038/does-java-have-a-hashmap-with-reverse-lookup – finnw

Respuesta

3

Es posible que desee consultar BiMap en la biblioteca Guava (anteriormente conocida como Google Collections).

Un ejemplo donde un HashBiMap se usa como el "mySpecialHashMap":

BiMap<String, String> myBiMap = HashBiMap.create(); 
myBiMap.put("key1", "key2"); 

myBiMap.get("key1"); // returns "key2" 
myBiMap.inverse().get("key2"); // returns "key1" 
+0

Si alguien no está usando la guayaba todavía: es totalmente dulce y probablemente deberías hacerlo. Ver [esta publicación (y comentarios)] (http://stackoverflow.com/a/132639/56285) para algunos excelentes recursos de aprendizaje. – Jonik

Cuestiones relacionadas