Class LongDoubleHashtable

  • All Implemented Interfaces:
    java.io.Serializable
    Direct Known Subclasses:
    AddableLongDoubleHashtable

    public class LongDoubleHashtable
    extends java.lang.Object
    implements java.io.Serializable
    Class that implements a hashtable with long keys and double values. Because this class uses array of primitives to store the information, it serializes very fast. This implementation uses seperate chaining to resolve collisions. My local change of LongShortHashtable (SCP 4/13/00)
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      LongDoubleHashtable()
      Default constructor creates a table with an initial default capacity.
      LongDoubleHashtable​(int capacity)
      Constructor creates a table with an initial given capacity.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean contains​(long key)
      Return true if the given key is in the hashtable.
      double get​(long key)
      Returns the value for the given key.
      long[] getKeys()
      Returns an array containing all the long keys.
      void put​(long key, double value)
      Adds a key/value pair to the hashtable.
      boolean remove​(long key)
      Removes a key from the hashtable
      void removeAll()
      Remove all entries from the hashtable.
      int size()
      Return the number of key/value pairs stored in the hashtable.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • LongDoubleHashtable

        public LongDoubleHashtable()
        Default constructor creates a table with an initial default capacity.
      • LongDoubleHashtable

        public LongDoubleHashtable​(int capacity)
        Constructor creates a table with an initial given capacity. The capacity will be adjusted to the next highest prime in the PRIMES table.
        Parameters:
        capacity - the initial capacity.
    • Method Detail

      • put

        public void put​(long key,
                        double value)
        Adds a key/value pair to the hashtable. If the key is already in the table, the old value is replaced with the new value. If the hashtable is already full, the hashtable will attempt to approximately double in size (it will use a prime number), and all the current entries will be rehashed.
        Parameters:
        key - the key to associate with the given value.
        value - the value to associate with the given key.
        Throws:
        java.lang.ArrayIndexOutOfBoundsException - thrown if the maximum capacity is reached.
      • get

        public double get​(long key)
                   throws NoValueException
        Returns the value for the given key.
        Parameters:
        key - the key whose associated value is to be returned.
        Throws:
        NoValueException - thrown if there is no value for the given key.
      • remove

        public boolean remove​(long key)
        Removes a key from the hashtable
        Parameters:
        key - key to be removed from the hashtable.
        Returns:
        true if key is found and removed, false otherwise.
      • removeAll

        public void removeAll()
        Remove all entries from the hashtable.
      • contains

        public boolean contains​(long key)
        Return true if the given key is in the hashtable.
        Parameters:
        key - the key whose presence in this map is to be tested.
      • size

        public int size()
        Return the number of key/value pairs stored in the hashtable.
      • getKeys

        public long[] getKeys()
        Returns an array containing all the long keys.