Source of DictionaryInterface.java


  1: import java.util.Iterator;
  2: /**
  3:    An interface for a dictionary with distinct search keys.
  4:    @author Frank M. Carrano
  5:    @author Timothy M. Henry
  6:    @version 4.0
  7: */
  8: public interface DictionaryInterface<K, V>
  9: {
 10:    /** Adds a new entry to this dictionary. If the given search key already
 11:        exists in the dictionary, replaces the corresponding value.
 12:        @param key    An object search key of the new entry.
 13:        @param value  An object associated with the search key.
 14:        @return  Either null if the new entry was added to the dictionary
 15:                 or the value that was associated with key if that value
 16:                 was replaced. */
 17:    public V add(K key, V value);
 18:    
 19:    /** Removes a specific entry from this dictionary.
 20:        @param key  An object search key of the entry to be removed.
 21:        @return  Either the value that was associated with the search key
 22:                 or null if no such object exists. */
 23:    public V remove(K key);
 24:    
 25:    /** Retrieves from this dictionary the value associated with a given
 26:        search key.
 27:        @param key  An object search key of the entry to be retrieved.
 28:        @return  Either the value that is associated with the search key
 29:                 or null if no such object exists. */
 30:    public V getValue(K key);
 31:    
 32:    /** Sees whether a specific entry is in this dictionary.
 33:        @param key  An object search key of the desired entry.
 34:        @return  True if key is associated with an entry in the dictionary. */
 35:    public boolean contains(K key);
 36:    
 37:    /** Creates an iterator that traverses all search keys in this dictionary.
 38:        @return  An iterator that provides sequential access to the search
 39:                 keys in the dictionary. */
 40:    public Iterator<K> getKeyIterator();
 41:    
 42:    /** Creates an iterator that traverses all values in this dictionary.
 43:        @return  An iterator that provides sequential access to the values
 44:                 in this dictionary. */
 45:    public Iterator<V> getValueIterator();
 46:    
 47:    /** Sees whether this dictionary is empty.
 48:        @return  True if the dictionary is empty. */
 49:    public boolean isEmpty();
 50:    
 51:    /** Gets the size of this dictionary.
 52:        @return  The number of entries (key-value pairs) currently
 53:                 in the dictionary. */
 54:    public int getSize();
 55:    
 56:    /** Removes all entries from this dictionary. */
 57:    public void clear();
 58: } // end DictionaryInterface