2009-11-05 22 views
5

Ho bisogno di un tipo di mappa accessibile in due direzioni, quindi con una struttura chiave-chiave anziché un valore-chiave. Questo esiste in Java? In caso contrario, qual è il modo migliore per crearlo?Chiave Java - mappa chiave

Così esempio:

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

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

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

risposta

3

Si potrebbe voler guardare BiMap dalla libreria Guava (precedentemente noto come Google Collections).

Un esempio in cui un HashBiMap viene utilizzato come "mySpecialHashMap":

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

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

Se qualcuno non usa ancora Guava: è totalmente dolce e probabilmente dovresti. Vedi [questo post (e commenti)] (http://stackoverflow.com/a/132639/56285) per alcune grandi risorse di apprendimento. – Jonik

Problemi correlati