Apache通用集合BidiMap接口

新接口被添加到支持雙向映射。 使用雙向映射,可以使用值查找鍵,並且可以使用鍵輕鬆查找值。

接口聲明

以下是org.apache.commons.collections4.BidiMap <K,V>接口的聲明 -

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

以下是接口的方法列表 -

編號

方法

描述

1

K getKey(Object value)

獲取當前映射到指定值的鍵。

2

BidiMap<V,K> inverseBidiMap()

獲取該映射的鍵和值的鍵視圖。

3

V put(K key, V value)

將鍵值對放入映射中,替換之前的任何一對。

4

K removeValue(Object value)

刪除當前映射到指定值的鍵值對(可選操作)。

5

Set<V> values()

返回此映射中包含的值的Set視圖。

方法繼承

該接口繼承了以下接口的方法 -

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

BidiMap接口實例

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);
   }
}

執行上面示例代碼,得到以下結果 -

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