Class SoftDoublyIndexedTable


  • public class SoftDoublyIndexedTable
    extends java.lang.Object
    This class represents a doubly indexed hash table, which holds soft references to the contained values.
    This HashMap is not Thread-safe.
    Version:
    $Id: SoftDoublyIndexedTable.java 1733416 2016-03-03 07:07:13Z gadams $
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void clear()
      Clears the table.
      java.lang.Object get​(java.lang.Object o1, java.lang.Object o2)
      Gets the value of a variable
      protected int hashCode​(java.lang.Object o1, java.lang.Object o2)
      Computes a hash code corresponding to the given objects.
      java.lang.Object put​(java.lang.Object o1, java.lang.Object o2, java.lang.Object value)
      Sets a new value for the given variable
      protected void rehash()
      Rehash the table
      protected void removeClearedEntries()
      Removes the cleared entries.
      int size()
      Returns the size of this table.
      • Methods inherited from class java.lang.Object

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

      • INITIAL_CAPACITY

        protected static final int INITIAL_CAPACITY
        The initial capacity
        See Also:
        Constant Field Values
      • count

        protected int count
        The number of entries
      • referenceQueue

        protected java.lang.ref.ReferenceQueue referenceQueue
        The reference queue.
    • Constructor Detail

      • SoftDoublyIndexedTable

        public SoftDoublyIndexedTable()
        Creates a new SoftDoublyIndexedTable.
      • SoftDoublyIndexedTable

        public SoftDoublyIndexedTable​(int c)
        Creates a new DoublyIndexedTable.
        Parameters:
        c - The inital capacity.
    • Method Detail

      • size

        public int size()
        Returns the size of this table.
      • get

        public java.lang.Object get​(java.lang.Object o1,
                                    java.lang.Object o2)
        Gets the value of a variable
        Returns:
        the value or null
      • put

        public java.lang.Object put​(java.lang.Object o1,
                                    java.lang.Object o2,
                                    java.lang.Object value)
        Sets a new value for the given variable
        Returns:
        the old value or null
      • clear

        public void clear()
        Clears the table.
      • rehash

        protected void rehash()
        Rehash the table
      • hashCode

        protected int hashCode​(java.lang.Object o1,
                               java.lang.Object o2)
        Computes a hash code corresponding to the given objects.
      • removeClearedEntries

        protected void removeClearedEntries()
        Removes the cleared entries.