Source of HashTable.java


  1: //HashTable.java (from zyDE 5.10.1)

  3: // Abstract class for a hash table that supports the insert, remove, and search
  4: // operations.
  5: public abstract class HashTable
  6: {
  7:     // Returns a non-negative hash code for the specified key.
  8:     protected int hash(Object key)
  9:     {
 10:         long keyHash = key.hashCode();

 12:         // Java's hashCode() method may return a negative number
 13:         if (keyHash < 0)
 14:         {
 15:             keyHash += 2147483648L;
 16:         }

 18:         return (int)keyHash;
 19:     }

 21:     // Inserts the specified key/value pair. If the key already exists, the
 22:     // corresponding value is updated. If inserted or updated, true is returned.
 23:     // If not inserted, then false is returned.
 24:     public abstract boolean insert(Object key, Object value);

 26:     // Searches for the specified key. If found, the key/value pair is removed
 27:     // from the hash table and true is returned. If not found, false is returned.
 28:     public abstract boolean remove(Object key);

 30:     // Searches for the key, returning the corresponding value if found, null if
 31:     // not found.
 32:     public abstract Object search(Object key);
 33: }