Coleções Commons - Interface BidiMap

Novas interfaces são adicionadas para suportar o mapa bidirecional. Usando o mapa bidirecional, uma chave pode ser pesquisada usando o valor e o valor pode ser pesquisado usando a chave facilmente.

Declaração de Interface

A seguir está a declaração para

Interface org.apache.commons.collections4.BidiMap <K, V> -

public interface BidiMap<K,V>
   extends IterableMap<K,V>

Métodos

Sr. Não. Método e Descrição
1

K getKey (valor do objeto)

Obtém a chave atualmente mapeada para o valor especificado.

2

BidiMap <V, K> inverseBidiMap ()

Obtém uma visão deste mapa onde as chaves e os valores são revertidos.

3

V put (chave K, valor V)

Coloca o par de valores-chave no mapa, substituindo qualquer par anterior.

4

K removeValue (valor do objeto)

Remove o par de valores-chave atualmente mapeado para o valor especificado (operação opcional).

5

Definir valores <V> ()

Retorna uma visualização de conjunto dos valores contidos neste mapa.

Métodos herdados

Essa interface herda métodos das seguintes interfaces -

  • org.apache.commons.collections4.Get
  • org.apache.commons.collections4.IterableGet
  • org.apache.commons.collections4.Put
  • java.util.Map

Exemplo de interface 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);
   }
}

Resultado

Ele imprimirá o seguinte resultado.

1
One
Original Map: {One=1, Three=3, Two=2}
Modified Map: {Three=3, Two=2}
Inversed Map: {2=Two, 3=Three}