Class UintMap
java.lang.Object
org.mozilla.javascript.UintMap
- All Implemented Interfaces:
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 Summary
FieldsModifier and TypeFieldDescriptionprivate static final int
private static final boolean
private static final int
private static final int
private int
private int
private int[]
private int
private int
private static final long
private Object[]
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
clear()
private int
ensureIndex
(int key, boolean intType) private int
findIndex
(int key) int
getExistingInt
(int key) Get integer value assigned with key.int
getInt
(int key, int defaultValue) Get integer value assigned with key.int[]
getKeys()
Return array of present keysgetObject
(int key) Get object value assigned with key.boolean
has
(int key) private int
insertNewKey
(int key) boolean
isEmpty()
void
put
(int key, int value) Set int value of the key.void
Set object value of the key.private void
private void
rehashTable
(boolean ensureIntSpace) void
remove
(int key) int
size()
private static int
tableLookupStep
(int fraction, int mask, int power) private void
-
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
-
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
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
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
- Throws:
IOException
-
readObject
- Throws:
IOException
ClassNotFoundException
-