2009-11-05 9 views
5

2つの方向からアクセスできるマップの種類が必要です。キー - キーの代わりにキー - キー構造を使用します。これはJavaにも存在しますか?そうでない場合、それを作成する最良の方法は何ですか?Javaキー - キーマップ

ですから、例えば:

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

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

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

答えて

2

はい、GoogleのコレクションからBiMapがあります。

3

Guavaライブラリ(旧Google Collections)からBiMapをご覧ください。

HashBiMapが "mySpecialHashMap" として使用されている例:

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

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

誰かがまだグアバを使用していない場合:それは完全に甘いです。優れた学習リソースについては、[この記事(およびコメント)](http://stackoverflow.com/a/132639/56285)を参照してください。 – Jonik

関連する問題