Коллекции Commons - интерфейс BidiMap
Добавлены новые интерфейсы для поддержки двунаправленной карты. Используя двунаправленную карту, ключ можно искать с помощью значения, а значение можно легко искать с помощью ключа.
Объявление интерфейса
Ниже приводится декларация для org.apache.commons.collections4.BidiMap<K,V> интерфейс -
public interface BidiMap<K,V>
extends IterableMap<K,V>
Методы
Методы интерфейса BidiMap следующие:
Sr. No. | Метод и описание |
---|---|
1 | K getKey(Object value) Получает ключ, который в настоящее время сопоставлен с указанным значением. |
2 | BidiMap<V,K> inverseBidiMap() Получает представление этой карты, где ключи и значения меняются местами. |
3 | V put(K key, V value) Помещает пару "ключ-значение" на карту, заменяя любую предыдущую пару. |
4 | K removeValue(Object value) Удаляет пару "ключ-значение", которая в настоящее время сопоставлена указанному значению (необязательная операция). |
5 | Set<V> values() Возвращает набор значений, содержащихся в этой карте. |
Унаследованные методы
Этот интерфейс наследует методы от следующих интерфейсов -
org.apache.commons.collections4.Get
org.apache.commons.collections4.IterableGet
org.apache.commons.collections4.Put
java.util.Map
Пример интерфейса BidiMap
Пример BidiMapTester.java выглядит следующим образом:
import org.apache.commons.collections4.BidiMap;
import org.apache.commons.collections4.bidimap.TreeBidiMap;
public class BidiMapTester {
public static void main(String[] args) {
BidiMap<String, String> bidi = new TreeBidiMap<>();
bidi.put("One", "1");
bidi.put("Two", "2");
bidi.put("Three", "3");
System.out.println(bidi.get("One"));
System.out.println(bidi.getKey("1"));
System.out.println("Original Map: " + bidi);
bidi.removeValue("1");
System.out.println("Modified Map: " + bidi);
BidiMap<String, String> inversedMap = bidi.inverseBidiMap();
System.out.println("Inversed Map: " + inversedMap);
}
}
Выход
Когда вы запустите код, вы увидите следующий вывод -
1
One
Original Map: {One=1, Three=3, Two=2}
Modified Map: {Three=3, Two=2}
Inversed Map: {2=Two, 3=Three}