Class SymbolHash


  • public class SymbolHash
    extends java.lang.Object
    This class is an unsynchronized hash table primary used for String to Object mapping.

    The hash code uses the same algorithm as SymbolTable class.

    Version:
    $Id: SymbolHash.java 819653 2009-09-28 17:29:56Z knoaman $
    Author:
    Elena Litani
    • Constructor Summary

      Constructors 
      Constructor Description
      SymbolHash()
      Constructs a key table with the default size.
      SymbolHash​(int size)
      Constructs a key table with a given size.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void clear()
      Remove all key/value assocaition.
      java.lang.Object get​(java.lang.Object key)
      Get the value associated with the given key.
      java.lang.Object[] getEntries()
      Return key/value pairs of all entries in the map
      int getLength()
      Get the number of key/value pairs stored in this table.
      int getValues​(java.lang.Object[] elements, int from)
      Add all values to the given array.
      SymbolHash makeClone()
      Make a clone of this object.
      void put​(java.lang.Object key, java.lang.Object value)
      Adds the key/value mapping to the key table.
      • Methods inherited from class java.lang.Object

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

      • SymbolHash

        public SymbolHash()
        Constructs a key table with the default size.
      • SymbolHash

        public SymbolHash​(int size)
        Constructs a key table with a given size.
        Parameters:
        size - the size of the key table.
    • Method Detail

      • put

        public void put​(java.lang.Object key,
                        java.lang.Object value)
        Adds the key/value mapping to the key table. If the key already exists, the previous value associated with this key is overwritten by the new value.
        Parameters:
        key -
        value -
      • get

        public java.lang.Object get​(java.lang.Object key)
        Get the value associated with the given key.
        Parameters:
        key -
        Returns:
        the value associated with the given key.
      • getLength

        public int getLength()
        Get the number of key/value pairs stored in this table.
        Returns:
        the number of key/value pairs stored in this table.
      • getValues

        public int getValues​(java.lang.Object[] elements,
                             int from)
        Add all values to the given array. The array must have enough entry.
        Parameters:
        elements - the array to store the elements
        from - where to start store element in the array
        Returns:
        number of elements copied to the array
      • getEntries

        public java.lang.Object[] getEntries()
        Return key/value pairs of all entries in the map
      • makeClone

        public SymbolHash makeClone()
        Make a clone of this object.
      • clear

        public void clear()
        Remove all key/value assocaition. This tries to save a bit of GC'ing by at least keeping the fBuckets array around.