Лучшая Java Datastructure для хранения ключевой пары значений

Возможный дубликат:
Java Hashmap: как получить ключ от стоимости?
Двунаправленная карта на Java?

Я хочу, чтобы key value data structure использовалась для Android-приложения. Я могу использовать Map<K,V> , но в Map я не могу получить ключ для определенного значения.

Есть ли хорошая структура данных Java, с помощью которой я могу получить ключ по значению и наоборот.

Solutions Collecting From Web of "Лучшая Java Datastructure для хранения ключевой пары значений"

Вы можете использовать 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

Как использовать Guava Libraris в Android здесь

Лучшей структурой данных будет Java HashMaps, чтобы проверить эту ссылку, вы можете использовать метод get(Object key)