最好的Java数据结构来存储键值对

可能重复:
Java HashMap:如何从价值中获得钥匙?
Java中的双向映射?

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

有没有什么好的Java数据结构,我可以通过值检索键,反之亦然。

Solutions Collecting From Web of "最好的Java数据结构来存储键值对"

即使您不知道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); } 

使用Google Guava BiMap

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

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