import java.util.Set; /**Interface for a map*/ public interface Map{ public interface Entry{ /**Compares the specified object with this entry for equality*/ public boolean equals(Object o); /**Returns the key corresponding to * this entry*/ public K getKey(); /**Returns the value corresponding to this entry*/ public V getValue(); /**Returns the hash code value for this map entry*/ public int hashCode(); /**Replaces the value corresponding to this entry with the specified value*/ public V setValue(V v); } /**return the number of entries in the map*/ public int size(); /**returns true if this map contains no key-value mappings*/ public boolean isEmpty(); /** Returns the value to which the specific key is mapped, or null */ public V get(K key); /** associates the specific value with the specified key in this map, return old value * or null if already an entry * with this key*/ public V put(K key, V value); /**Removes the mapping for a key from this map if present*/ public V remove(K key); /**return a set containing all the keys stored in map*/ public Set keys(); /**return a set containing all the values associated with the entries stored*/ public Set values(); /**return a set containing all the key-value entries*/ public Set> entries(); }