在Java中,可以使用Guava庫中的BiMap來創建和操作雙向映射。BiMap是一個特殊的Map,可以確保值是唯一的,同時也可以通過值快速查找對應的鍵。
以下是一個簡單的示例演示如何在Java中使用BiMap:
import com.google.common.collect.BiMap;
import com.google.common.collect.HashBiMap;
public class BiMapExample {
public static void main(String[] args) {
// 創建一個BiMap
BiMap<String, Integer> biMap = HashBiMap.create();
// 添加鍵值對到BiMap
biMap.put("one", 1);
biMap.put("two", 2);
biMap.put("three", 3);
// 通過鍵獲取值
System.out.println(biMap.get("one")); // 輸出: 1
// 通過值獲取鍵
System.out.println(biMap.inverse().get(2)); // 輸出: two
// BiMap的值是唯一的,如果添加重復的值會拋出異常
// biMap.put("four", 1); // 會拋出IllegalArgumentException
// 使用BiMap的forcePut方法可以覆蓋已存在值的鍵
biMap.forcePut("four", 1);
// 輸出BiMap的鍵值對
System.out.println(biMap); // 輸出: {four=1, two=2, three=3}
}
}
在上面的示例中,我們使用了Guava庫中的HashBiMap來創建一個BiMap實例,并演示了如何向BiMap中添加鍵值對,以及如何通過鍵或值來獲取對應的值或鍵。BiMap確保值是唯一的,如果添加重復的值會拋出異常,但可以使用forcePut方法來覆蓋已存在值的鍵。BiMap還提供了inverse方法來獲取值到鍵的映射。