Package org.htmlunit.corejs.javascript
Class ObjToIntMap
- java.lang.Object
-
- org.htmlunit.corejs.javascript.ObjToIntMap
-
- All Implemented Interfaces:
java.io.Serializable
public class ObjToIntMap extends java.lang.Object implements java.io.Serializable
Map to associate objects to 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:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ObjToIntMap.Iterator
-
Field Summary
Fields Modifier and Type Field Description private static int
A
private static boolean
check
private static java.lang.Object
DELETED
private int
keyCount
private java.lang.Object[]
keys
private int
occupiedCount
private int
power
private static long
serialVersionUID
private int[]
values
-
Constructor Summary
Constructors Constructor Description ObjToIntMap()
ObjToIntMap(int keyCountHint)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clear()
private int
ensureIndex(java.lang.Object key)
private int
findIndex(java.lang.Object key)
int
get(java.lang.Object key, int defaultValue)
Get integer value assigned with key.int
getExisting(java.lang.Object key)
Get integer value assigned with key.java.lang.Object[]
getKeys()
Return array of present keysvoid
getKeys(java.lang.Object[] array, int offset)
boolean
has(java.lang.Object key)
(package private) void
initIterator(ObjToIntMap.Iterator i)
private int
insertNewKey(java.lang.Object key, int hash)
java.lang.Object
intern(java.lang.Object keyArg)
If table already contains a key that equals to keyArg, return that key while setting its value to zero, otherwise add keyArg with 0 value to the table and return it.boolean
isEmpty()
ObjToIntMap.Iterator
newIterator()
void
put(java.lang.Object key, int value)
private void
readObject(java.io.ObjectInputStream in)
private void
rehashTable()
void
remove(java.lang.Object key)
int
size()
private static int
tableLookupStep(int fraction, int mask, int power)
private void
writeObject(java.io.ObjectOutputStream out)
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
A
private static final int A
- See Also:
- Constant Field Values
-
DELETED
private static final java.lang.Object DELETED
-
keys
private transient java.lang.Object[] keys
-
values
private transient int[] values
-
power
private int power
-
keyCount
private int keyCount
-
occupiedCount
private transient int occupiedCount
-
check
private static final boolean check
- See Also:
- Constant Field Values
-
-
Method Detail
-
isEmpty
public boolean isEmpty()
-
size
public int size()
-
has
public boolean has(java.lang.Object key)
-
get
public int get(java.lang.Object key, int defaultValue)
Get integer value assigned with key.- Returns:
- key integer value or defaultValue if key is absent
-
getExisting
public int getExisting(java.lang.Object key)
Get integer value assigned with key.- Returns:
- key integer value
- Throws:
java.lang.RuntimeException
- if key does not exist
-
put
public void put(java.lang.Object key, int value)
-
intern
public java.lang.Object intern(java.lang.Object keyArg)
If table already contains a key that equals to keyArg, return that key while setting its value to zero, otherwise add keyArg with 0 value to the table and return it.
-
remove
public void remove(java.lang.Object key)
-
clear
public void clear()
-
newIterator
public ObjToIntMap.Iterator newIterator()
-
initIterator
final void initIterator(ObjToIntMap.Iterator i)
-
getKeys
public java.lang.Object[] getKeys()
Return array of present keys
-
getKeys
public void getKeys(java.lang.Object[] array, int offset)
-
tableLookupStep
private static int tableLookupStep(int fraction, int mask, int power)
-
findIndex
private int findIndex(java.lang.Object key)
-
insertNewKey
private int insertNewKey(java.lang.Object key, int hash)
-
rehashTable
private void rehashTable()
-
ensureIndex
private int ensureIndex(java.lang.Object key)
-
writeObject
private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException
- Throws:
java.io.IOException
-
readObject
private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException
- Throws:
java.io.IOException
java.lang.ClassNotFoundException
-
-