19

可能重复:
Java Hashmap:如何从值中获取键?
Java中的双向地图?

我想要一个key value data structure用于 Android 应用程序。我可以使用Map<K,V>,但Map我无法获得特定值的密钥。

是否有任何好的 Java 数据结构,我可以使用它按值检索键,反之亦然。

4

3 回答 3

18

即使您不知道 Map 中的任何键,您也可以将 Map 与 entrySet 和 Map.Entry 类一起使用来迭代并获取键和值。

Map <Integer,String> myMap = new HashMap<Integer,String>();

Iterator<Entry<Integer, String>> iterator = myMap.entrySet().iterator();
while (iterator.hasNext()) {
    Map.Entry<Integer,String> pairs = (Map.Entry<Integer,String>)iterator.next();
    String value =  pairs.getValue();
    Integer key = pairs.getKey();
    System.out.println(key +"--->"+value);
}
于 2013-01-30T09:59:07.290 回答
1

使用 Google Guava BiMap

如何在 Android 中使用 Guava Libraris 就在这里

于 2013-01-30T09:52:54.843 回答
0

最好的数据结构是 Java HashMaps 检查这个链接 你可以使用该get(Object key)方法

于 2013-01-30T10:12:54.330 回答