2009-11-05 8 views
5

J'ai besoin d'un type de carte accessible dans deux directions, donc avec une structure clé-clé au lieu de la valeur-clé. Est-ce que cela existe en Java? Si non, quelle est la meilleure façon de le créer?Clé Java - carte-clé

Ainsi par exemple:

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

Répondre

3

Vous voudrez peut-être regarder BiMap à partir de la bibliothèque Guava (anciennement connue sous le nom de Google Collections).

Un exemple où HashBiMap est utilisé comme "mySpecialHashMap":

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

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

Si quelqu'un n'utilise pas encore Goyave: c'est totalement mignon et vous devriez probablement. Voir [ce message (et commentaires)] (http://stackoverflow.com/a/132639/56285) pour de bonnes ressources d'apprentissage. – Jonik