BidiMap

优质
小牛编辑
136浏览
2023-12-01

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

接口声明 (Interface Declaration)

以下是声明

org.apache.commons.collections4.BidiMap《K,V》 interface −

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

方法 (Methods)

Sr.No.方法和描述
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视图。

方法继承 (Methods Inherited)

此接口从以下接口继承方法 -

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

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

输出 (Output)

它将打印以下结果。

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