Коллекции 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}