Class UintMap

java.lang.Object
org.mozilla.javascript.UintMap
All Implemented Interfaces:
Serializable

public class UintMap extends Object implements Serializable
Map to associate non-negative integers to objects or integers. The map does not synchronize any of its operation, so either use it from a single thread or do own synchronization or perform all mutation operations on one thread before passing the map to others.
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • A

      private static final int A
      See Also:
    • EMPTY

      private static final int EMPTY
      See Also:
    • DELETED

      private static final int DELETED
      See Also:
    • keys

      private transient int[] keys
    • values

      private transient Object[] values
    • power

      private int power
    • keyCount

      private int keyCount
    • occupiedCount

      private transient int occupiedCount
    • ivaluesShift

      private transient int ivaluesShift
    • check

      private static final boolean check
      See Also:
  • Constructor Details

    • UintMap

      public UintMap()
    • UintMap

      public UintMap(int initialCapacity)
  • Method Details

    • isEmpty

      public boolean isEmpty()
    • size

      public int size()
    • has

      public boolean has(int key)
    • getObject

      public Object getObject(int key)
      Get object value assigned with key.
      Returns:
      key object value or null if key is absent
    • getInt

      public int getInt(int key, int defaultValue)
      Get integer value assigned with key.
      Returns:
      key integer value or defaultValue if key is absent
    • getExistingInt

      public int getExistingInt(int key)
      Get integer value assigned with key.
      Returns:
      key integer value or defaultValue if key does not exist or does not have int value
      Throws:
      RuntimeException - if key does not exist
    • put

      public void put(int key, Object value)
      Set object value of the key. If key does not exist, also set its int value to 0.
    • put

      public void put(int key, int value)
      Set int value of the key. If key does not exist, also set its object value to null.
    • remove

      public void remove(int key)
    • clear

      public void clear()
    • getKeys

      public int[] getKeys()
      Return array of present keys
    • tableLookupStep

      private static int tableLookupStep(int fraction, int mask, int power)
    • findIndex

      private int findIndex(int key)
    • insertNewKey

      private int insertNewKey(int key)
    • rehashTable

      private void rehashTable(boolean ensureIntSpace)
    • ensureIndex

      private int ensureIndex(int key, boolean intType)
    • writeObject

      private void writeObject(ObjectOutputStream out) throws IOException
      Throws:
      IOException
    • readObject

      private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
      Throws:
      IOException
      ClassNotFoundException