Class HashtableOfObject

java.lang.Object
org.aspectj.org.eclipse.jdt.internal.compiler.util.HashtableOfObject
All Implemented Interfaces:
Cloneable

public final class HashtableOfObject extends Object implements Cloneable
Hashtable of {char[] --> Object }
  • Field Details

    • MAX_ARRAY_SIZE

      public static final int MAX_ARRAY_SIZE
      Max array size accepted by JVM
      See Also:
      Constant Field Values
    • keyTable

      public char[][] keyTable
    • valueTable

      public Object[] valueTable
    • elementSize

      public int elementSize
  • Constructor Details

  • Method Details

    • clear

      public void clear()
    • clone

      public Object clone() throws CloneNotSupportedException
      Overrides:
      clone in class Object
      Throws:
      CloneNotSupportedException
    • containsKey

      public boolean containsKey(char[] key)
    • get

      public Object get(char[] key)
    • put

      public Object put(char[] key, Object value)
    • putUnsafely

      public void putUnsafely(char[] key, Object value)
      Put a value at the index of the given using the local hash code computation.

      Note that this is an unsafe put as there's no prior verification whether the given key already exists in the table or not.

      Parameters:
      key - The key of the table entry
      value - The value of the table entry
    • removeKey

      public Object removeKey(char[] key)
    • calculateNewSize

      public static int calculateNewSize(int currentSize)
      Tries to double the number of given elements but returns MAX_ARRAY_SIZE - 2 in case new value would overflow
      Returns:
      new map size that fits to JVM limits or throws an error
    • storageSize

      public int storageSize()
    • size

      public int size()
    • toString

      public String toString()
      Overrides:
      toString in class Object