我需要一个可以在两个方向上访问的地图,因此使用键键结构而不是键值。这在Java中存在吗?如果没有,创建它的最佳方法是什么?

所以示例:

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

mySpecialMap.getL2R("key1") returns "key2";
mySpecialMap.getR2L("key2") returns "key1";
有帮助吗?

解决方案

因此,您需要双向地图。您可以使用 Apache Commons Collections Bidimap 或者 Google Collections Bimap 为了这。

其他提示

你可能想看看 bimap 来自 瓜瓦 图书馆(以前称为Google Collections)。

一个例子 hashbimap 被用作“ myspecialhashmap”:

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

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

就在这里 bimap 来自Google收藏。

或有关可逆的枚举 这个堆叠的问题.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top