package com.clearlyspam23.GLE.util; import java.util.HashMap; import java.util.Map; import java.util.Set; public class TwoWayMap<T, E>{ private Map<T, E> normMap; private Map<E, T> reverseMap; public TwoWayMap(){ normMap = new HashMap<T, E>(); reverseMap = new HashMap<E, T>(); } public void put(T t, E e){ normMap.put(t, e); reverseMap.put(e, t); } public E getNormal(T t){ return normMap.get(t); } public T getReverse(E e){ return reverseMap.get(e); } public void clear(){ normMap.clear(); reverseMap.clear(); } public Set<T> getEntries(){ return normMap.keySet(); } public Set<E> getValues(){ return reverseMap.keySet(); } public E removeNormal(T value){ E e = normMap.remove(value); reverseMap.remove(e); return e; } public T removeReverse(E value){ T t = reverseMap.remove(value); normMap.remove(t); return t; } }