Class TriplyIndexedTable


  • public class TriplyIndexedTable
    extends java.lang.Object
    This class represents a triply indexed hash table.
    Note: This implementation is not Thread-safe.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      protected static class  TriplyIndexedTable.Entry
      To manage collisions
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Object get​(java.lang.Object o1, java.lang.Object o2, java.lang.Object o3)
      Gets the value of an entry
      protected int hashCode​(java.lang.Object o1, java.lang.Object o2, java.lang.Object o3)
      Computes a hash code corresponding to the given objects.
      java.lang.Object put​(java.lang.Object o1, java.lang.Object o2, java.lang.Object o3, java.lang.Object value)
      Puts a value in the table.
      protected void rehash()
      Rehash the table
      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
    • Constructor Detail

      • TriplyIndexedTable

        public TriplyIndexedTable()
        Creates a new TriplyIndexedTable.
      • TriplyIndexedTable

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

      • size

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

        public java.lang.Object put​(java.lang.Object o1,
                                    java.lang.Object o2,
                                    java.lang.Object o3,
                                    java.lang.Object value)
        Puts a value in the table.
        Returns:
        the old value or null
      • get

        public java.lang.Object get​(java.lang.Object o1,
                                    java.lang.Object o2,
                                    java.lang.Object o3)
        Gets the value of an entry
        Returns:
        the value or null
      • rehash

        protected void rehash()
        Rehash the table
      • hashCode

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