Collezioni Commons - Interfaccia BidiMap
Nuove interfacce vengono aggiunte per supportare la mappa bidirezionale. Utilizzando la mappa bidirezionale, una chiave può essere ricercata utilizzando il valore e il valore può essere cercato facilmente utilizzando la chiave.
Dichiarazione di interfaccia
Di seguito è riportata la dichiarazione per org.apache.commons.collections4.BidiMap<K,V> interfaccia -
public interface BidiMap<K,V>
   extends IterableMap<K,V>Metodi
I metodi per l'interfaccia BidiMap sono i seguenti:
| Sr.No. | Metodo e descrizione | 
|---|---|
| 1 | K getKey(Object value) Ottiene la chiave attualmente mappata al valore specificato. | 
| 2 | BidiMap<V,K> inverseBidiMap() Ottiene una visualizzazione di questa mappa in cui le chiavi e i valori sono invertiti. | 
| 3 | V put(K key, V value) Inserisce la coppia chiave-valore nella mappa, sostituendo qualsiasi coppia precedente. | 
| 4 | K removeValue(Object value) Rimuove la coppia chiave-valore attualmente mappata al valore specificato (operazione facoltativa). | 
| 5 | Set<V> values() Restituisce una vista Set dei valori contenuti in questa mappa. | 
Metodi ereditati
Questa interfaccia eredita i metodi dalle seguenti interfacce:
- org.apache.commons.collections4.Get 
- org.apache.commons.collections4.IterableGet 
- org.apache.commons.collections4.Put 
- java.util.Map 
Esempio di interfaccia BidiMap
Un esempio di BidiMapTester.java è il seguente:
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);
   }
}Produzione
Quando esegui il codice, vedrai il seguente output:
1
One
Original Map: {One=1, Three=3, Two=2}
Modified Map: {Three=3, Two=2}
Inversed Map: {2=Two, 3=Three}