Подтвердить что ты не робот

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

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

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

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

4b9b3361

Ответ 1

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

Ответ 2

Использовать Google Guava BiMap

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