Source of Dictionary.java


  1: import TreePackage.SearchTreeInterface;
  2: import TreePackage.BinarySearchTree;
  3: import java.util.Iterator;
  4: /**
  5:  A class that implements the ADT dictionary by using a binary search tree.
  6:  The dictionary is sorted and has distinct search keys.
  7:  
  8:  @author Frank M. Carrano
  9:  @author Timothy M. Henry
 10:  @version 4.0
 11:  */
 12: public class BstDictionary<K extends Comparable<? super K>, V>
 13: implements DictionaryInterface<K, V>
 14: {
 15:    private SearchTreeInterface<Entry<K, V>> bst;
 16:    
 17:    public BstDictionary()
 18:    {
 19:       bst = new BinarySearchTree<>();
 20:    } // end default constructor
 21: 
 22: /* < Methods that implement dictionary operations are here. >
 23:    . . . */
 24: 
 25:    private class Entry<S extends Comparable<? super S>, T> 
 26:            implements Comparable<Entry<S, T>>
 27:    {
 28:       private S key;
 29:       private T value;
 30: 
 31:       private Entry(S searchKey, T dataValue)
 32:       {
 33:          key = searchKey;
 34:          value = dataValue;
 35:       } // end constructor
 36: 
 37:       public int compareTo(Entry<S, T> other)
 38:       {
 39:          return key.compareTo(other.key);
 40:       } // end compareTo
 41: 
 42: /* < The class Entry also defines the methods equals, toString, getKey, getValue,
 43:      and setValue; no setKey method is provided. >
 44:    . . . */
 45:    } // end Entry
 46: } // end BstDictionary