2012-01-16 90 views

回答

9

听起来像你想bimap - 我会使用Guava如果我是你的实现;有一个BiMap接口,以及各种实现,例如HashBiMapImmutableBiMap

请注意,您通常从一个“边”(K1到K2)查看BiMap,并且只需拨打inverse()即可获得事物(K2到K1)的相反视图。

5

几家图书馆都有类似的东西。例如,Google Guava有一个BiMap(双向映射)。不幸的是,标准Java库中没有双向映射。

0

为了澄清,你有某种地图与以下项:值对:

Map<String, String> map = new HashMap<String, String>(); 
map.put("foo", "Freddy"); 
map.put("bar", "Bobby"); 

然后,你会想要做map.get(“富”),并得到弗雷迪,或做map.get(“Freddy”)并获得foo?

如果是这样,检查this post了。