Java语言如何实现将键和值进行随时对调的数据结构,不能用dict因为那样的话

Java语言如何实现将键和值进行随时对调的数据结构,不能用dict因为那样的话,重复了就不能对调了,还有什么办法

试一试bimap:

import com.google.common.collect.BiMap;
import com.google.common.collect.HashBiMap;

public class BiMapExample {
    public static void main(String[] args) {
        BiMap<String, Integer> map = HashBiMap.create();
        map.put("A", 1);
        map.put("B", 2);
        map.put("C", 3);
        BiMap<Integer, String> inverseMap = map.inverse();
        System.out.println(inverseMap.get(1)); 
    }
}


Java语言可以使用Map接口的实现类来实现将键和值进行随时对调的数据结构。其中,可以使用TreeMap类或LinkedHashMap类来实现。这两个类都实现了Map接口,并且提供了实现将键和值进行对调的方法。例如,可以使用TreeMap类的inverse方法或LinkedHashMap类的inverse方法来实现。具体实现方法如下:

使用TreeMap类实现:

import java.util.TreeMap;
import java.util.Map;
 public class SwapKeyValue {
    public static void main(String[] args) {
        Map<String, String> map = new TreeMap<String, String>();
        map.put("key1", "value1");
        map.put("key2", "value2");
        map.put("key3", "value3");
         System.out.println("Original Map: " + map);
         Map<String, String> inverseMap = new TreeMap<String, String>();
        for (Map.Entry<String, String> entry : map.entrySet()) {
            inverseMap.put(entry.getValue(), entry.getKey());
        }
         System.out.println("Inverted Map: " + inverseMap);
    }
}