Colecciones comunes - Interfaz BidiMap
Se agregan nuevas interfaces para admitir mapas bidireccionales. Usando el mapa bidireccional, una clave se puede buscar usando el valor y el valor se puede buscar usando la clave fácilmente.
Declaración de interfaz
A continuación se muestra la declaración de org.apache.commons.collections4.BidiMap<K,V> interfaz -
public interface BidiMap<K,V>
extends IterableMap<K,V>
Métodos
Los métodos para la interfaz BidiMap son los siguientes:
No Señor. | Método y descripción |
---|---|
1 | K getKey(Object value) Obtiene la clave que actualmente está asignada al valor especificado. |
2 | BidiMap<V,K> inverseBidiMap() Obtiene una vista de este mapa donde se invierten las claves y los valores. |
3 | V put(K key, V value) Coloca el par clave-valor en el mapa, reemplazando cualquier par anterior. |
4 | K removeValue(Object value) Elimina el par clave-valor que actualmente está asignado al valor especificado (operación opcional). |
5 | Set<V> values() Devuelve una vista de conjunto de los valores contenidos en este mapa. |
Métodos heredados
Esta interfaz hereda métodos de las siguientes interfaces:
org.apache.commons.collections4.Get
org.apache.commons.collections4.IterableGet
org.apache.commons.collections4.Put
java.util.Map
Ejemplo de interfaz BidiMap
Un ejemplo de BidiMapTester.java es el siguiente:
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);
}
}
Salida
Cuando ejecute el código, verá el siguiente resultado:
1
One
Original Map: {One=1, Three=3, Two=2}
Modified Map: {Three=3, Two=2}
Inversed Map: {2=Two, 3=Three}