ndsvw:
データ構造は、私はまた、価値のキーとして解釈することができる「キー値」のペアを格納することができますことは、(Javaのutilに、グアバ...)Javaではありますか?
例:
Datastructure d = new Datastructure();
d.add(1, "foo");
d.add(21 "bar");
d.add(33 "hello");
d.add(55 "world");
以下のような関数d.get1(1)
を返す必要がありますfoo
。以下のような関数d.get2("foo")
を返す必要があります1
。
以下のような関数d.get1(33)
を返す必要がありますhello
。以下のような関数d.get2("hello")
を返す必要があります33
。
...
このように動作します何かがありますか?
Razib:
あなたが探していることは、本質的にグアバので実装されますBiMap
。
あなたは使用することができますグアバこのようの2領域マップを-
BiMap<Integer, String> biMap = HashBiMap.create();
biMap.put(1, "foo");
biMap.put(21, "bar");
System.out.println(biMap.get("1"))); //foo
System.out.println(biMap.inverse().get("bar"))); //21
リンク:
- グアバ2領域マップへのガイド
- 2領域マップの javaのドキュメント
また、あなたは、Apache共通に使用することができBiDiMap
、このように:
BidiMap<String, String> map = new DualHashBidiMap<>();
map.put(1, "foo");
map.put(21, "bar");
System.out.println(map.get(1)); //1
//reversing the mapping
BidiMap<String, String> reversedMap = map.inverseBidiMap();
System.out.println(reversedMap.get("foo")); //1