/**
* A dictionary with no duplication allowed: old (key, value) pairs are replaced
* by new pairs.
*/
public interface IDictionary {
/**
* Post: (key, val) is added to this dictionary, replacing the old pair if any.
*/
public abstract void store(Object key, Object val);
/**
* returns the object associated with key if key is in this dictionary,
* null otherwise.
*/
public abstract Object retrieve(Object key);
/**
* returns the object associated with key if key is in this dictionary,
* null otherwise.
* afterwards, calling retrieve (key) will return null.
*/
public abstract Object remove(Object key);
}