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.SerializableMap 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 classObjToIntMap.Iterator
-
Field Summary
Fields Modifier and Type Field Description private static intAprivate static booleancheckprivate static java.lang.ObjectDELETEDprivate intkeyCountprivate java.lang.Object[]keysprivate intoccupiedCountprivate intpowerprivate static longserialVersionUIDprivate 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 voidclear()private intensureIndex(java.lang.Object key)private intfindIndex(java.lang.Object key)intget(java.lang.Object key, int defaultValue)Get integer value assigned with key.intgetExisting(java.lang.Object key)Get integer value assigned with key.java.lang.Object[]getKeys()Return array of present keysvoidgetKeys(java.lang.Object[] array, int offset)booleanhas(java.lang.Object key)(package private) voidinitIterator(ObjToIntMap.Iterator i)private intinsertNewKey(java.lang.Object key, int hash)java.lang.Objectintern(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.booleanisEmpty()ObjToIntMap.IteratornewIterator()voidput(java.lang.Object key, int value)private voidreadObject(java.io.ObjectInputStream in)private voidrehashTable()voidremove(java.lang.Object key)intsize()private static inttableLookupStep(int fraction, int mask, int power)private voidwriteObject(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.IOExceptionjava.lang.ClassNotFoundException
-
-