存储密钥值对的最佳Java数据结构

时间:2013-01-30 09:43:16

标签: java android

  

可能重复:
  Java Hashmap: How to get key from value?
  Bi-directional Map in Java?

我希望key value data structure用于Android应用。我可以使用Map<K,V>,但在Map我无法获得特定值的关键字。

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

3 个答案:

答案 0 :(得分:17)

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

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);
}

答案 1 :(得分:1)

使用Google Guava BiMap

如何在Android中使用Guava库here

答案 2 :(得分:0)