46 lines
795 B
Java
46 lines
795 B
Java
package gltronic.oozik.model;
|
|
|
|
import java.util.HashMap;
|
|
|
|
public class BiMap<K, V> {
|
|
HashMap<K,V> map = new HashMap<K, V>();
|
|
HashMap<V,K> inversedMap = new HashMap<V, K>();
|
|
|
|
public void put(K k, V v) {
|
|
map.put(k, v);
|
|
inversedMap.put(v, k);
|
|
}
|
|
|
|
public V get(K k) {
|
|
return map.get(k);
|
|
}
|
|
|
|
public K getKey(V v) {
|
|
return inversedMap.get(v);
|
|
}
|
|
|
|
public boolean containsKey(K k) {
|
|
return map.containsKey(k);
|
|
}
|
|
|
|
public boolean containsValue(V v) {
|
|
return map.containsValue(v);
|
|
}
|
|
|
|
public int size() {
|
|
return map.size();
|
|
}
|
|
|
|
public void removeKey(K k) {
|
|
V v = map.get(k);
|
|
map.remove(k);
|
|
inversedMap.remove(v);
|
|
}
|
|
|
|
public void removeValue(V v) {
|
|
K k = inversedMap.get(v);
|
|
inversedMap.remove(v);
|
|
map.remove(k);
|
|
}
|
|
|
|
} |