0

是否存在任何仅使用一种类型的双射数据结构,这样如果a -> bab -> a和 b 属于同一类型?我看过BiMapGuava 和BidiMapApache Commons,但两者都需要获取地图的逆来检查反向映射,而我希望这无关紧要。如果现有集合中没有一个,那么像这样的简单类是否可以解决问题,或者这有什么问题:

public class BiHashMap<T> extends HashMap<T, T> {

    @Override
    public T put(T key1, T key2) {
        T removed = remove(key1);
        remove(key2);
        super.put(key1, key2);
        super.put(key2, key1);
        return removed;
    }

    @Override
    public T remove(Object key) {
        T mapped = super.remove(key);
        super.remove(mapped);
        return mapped;
    }

}
4

0 回答 0