Kolekcje Commons - interfejs BidiMap
Dodano nowe interfejsy do obsługi map dwukierunkowych. Korzystając z mapy dwukierunkowej, klucz można wyszukiwać za pomocą wartości, a wartość można łatwo wyszukiwać za pomocą klucza.
Deklaracja interfejsu
Poniżej znajduje się deklaracja dla org.apache.commons.collections4.BidiMap<K,V> interfejs -
public interface BidiMap<K,V>
extends IterableMap<K,V>
Metody
Metody interfejsu BidiMap są następujące -
Sr.No. | Metoda i opis |
---|---|
1 | K getKey(Object value) Pobiera klucz, który jest aktualnie zamapowany na określoną wartość. |
2 | BidiMap<V,K> inverseBidiMap() Pobiera widok tej mapy, w którym klucze i wartości są odwrócone. |
3 | V put(K key, V value) Wstawia parę klucz-wartość do mapy, zastępując wszystkie poprzednie pary. |
4 | K removeValue(Object value) Usuwa parę klucz-wartość, która jest obecnie zamapowana na określoną wartość (operacja opcjonalna). |
5 | Set<V> values() Zwraca widok zestawu wartości zawartych w tej mapie. |
Dziedziczone metody
Ten interfejs dziedziczy metody z następujących interfejsów -
org.apache.commons.collections4.Get
org.apache.commons.collections4.IterableGet
org.apache.commons.collections4.Put
java.util.Map
Przykład interfejsu BidiMap
Przykład pliku BidiMapTester.java jest następujący -
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);
}
}
Wynik
Po uruchomieniu kodu zobaczysz następujące dane wyjściowe -
1
One
Original Map: {One=1, Three=3, Two=2}
Modified Map: {Three=3, Two=2}
Inversed Map: {2=Two, 3=Three}