Commons Collections - BidiMap 接口

添加了新接口以支持双向映射。 使用双向映射,可以使用值查找键,并且可以轻松地使用键查找值。

接口声明

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

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

方法

BidiMap 接口的方法如下 −

序号 方法 & 描述
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.Ge.

  • org.apache.commons.collections4.IterableGe.

  • org.apache.commons.collections4.Pu.

  • java.util.Ma.


BidiMap 接口示例

BidiMapTester.java的一个例子如下 −

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}