2009-11-05 24 views
5

Potrzebuję rodzaju mapy, która jest dostępna w dwóch kierunkach, więc za pomocą struktury klucza klucza zamiast pary klucz-wartość. Czy to istnieje w Javie? Jeśli nie, jaki jest najlepszy sposób na jego stworzenie?Klucz Java - mapa klucza

Więc przykład:

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

Odpowiedz

3

Możesz zajrzeć pod numer BiMap z biblioteki Guava (dawniej zwanej Kolekcjami Google).

Przykładem gdzie HashBiMap służy jako "mySpecialHashMap":

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

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

Jeśli ktoś jeszcze nie używa Guava: jest całkowicie słodki i prawdopodobnie powinieneś. Zobacz [ten post (i komentarze)] (http://stackoverflow.com/a/132639/56285) dla niektórych wspaniałych zasobów edukacyjnych. – Jonik

Powiązane problemy