views:

406

answers:

4
+4  Q: 

Java key - key map

Hi,

I need a kind of map which is accessible in two directions, so with a key-key structure instead of key-value. Does this exist in Java? If not, what is the best way to create it?

So example:

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

mySpecialMap.getL2R("key1") returns "key2";
mySpecialMap.getR2L("key2") returns "key1";
+2  A: 

Yes, there is BiMap from Google Collections.

luvieere
+20  A: 

So you want a bidirectional map. You can use Apache Commons Collections BidiMap or Google Collections BiMap for this.

BalusC
+3  A: 

You might want to look at BiMap from the Google Collections library.

An example where a HashBiMap is used as the "mySpecialHashMap":

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

myBiMap.get("key1"); // returns "key2"
myBiMap.inverse().get("key2"); // returns "key1"
Jonik
+1  A: 

Or for reversible enums see this Stackoverflow question.

C. Ross