Commons Collections - Interface BidiMap
Novas interfaces são adicionadas para suportar o mapa bidirecional. Usando o mapa bidirecional, uma chave pode ser pesquisada usando valor e o valor pode ser pesquisado usando a chave facilmente.
Declaração de Interface
A seguir está a declaração para org.apache.commons.collections4.BidiMap<K,V> interface -
public interface BidiMap<K,V>
extends IterableMap<K,V>
Métodos
Os métodos para a interface BidiMap são os seguintes -
Sr. Não. | Método e Descrição |
---|---|
1 | K getKey(Object value) 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 valores são invertidos. |
3 | V put(K key, V value) Coloca o par de valores-chave no mapa, substituindo qualquer par anterior. |
4 | K removeValue(Object value) Remove o par de valores-chave que está atualmente mapeado para o valor especificado (operação opcional). |
5 | Set<V> values() Retorna uma visualização Set dos valores contidos neste mapa. |
Métodos herdados
Esta 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
Um exemplo de BidiMapTester.java é o seguinte -
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
Ao executar o código, você verá a seguinte saída -
1
One
Original Map: {One=1, Three=3, Two=2}
Modified Map: {Three=3, Two=2}
Inversed Map: {2=Two, 3=Three}