public class OpenIntObjectHashMap<T> extends AbstractIntObjectMap<T>
HashMap,
Serialized Form| Modifier and Type | Field and Description |
|---|---|
protected static byte |
FREE |
protected int |
freeEntries
The number of table entries in state==FREE.
|
protected static byte |
FULL |
protected static byte |
REMOVED |
protected byte[] |
state
The state of each hash table entry (FREE, FULL, REMOVED).
|
protected int[] |
table
The hash table keys.
|
protected T[] |
values
The hash table values.
|
defaultCapacity, defaultMaxLoadFactor, defaultMinLoadFactor, distinct, highWaterMark, lowWaterMark, maxLoadFactor, minLoadFactor| Constructor and Description |
|---|
OpenIntObjectHashMap()
Constructs an empty map with default capacity and default load factors.
|
OpenIntObjectHashMap(int initialCapacity)
Constructs an empty map with the specified initial capacity and default load factors.
|
OpenIntObjectHashMap(int initialCapacity,
double minLoadFactor,
double maxLoadFactor)
Constructs an empty map with the specified initial capacity and the specified minimum and maximum load factor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
clear()
Removes all (key,value) associations from the receiver.
|
Object |
clone()
Returns a deep copy of the receiver.
|
boolean |
containsKey(int key)
Returns true if the receiver contains the specified key.
|
boolean |
containsValue(T value)
Returns true if the receiver contains the specified value.
|
void |
ensureCapacity(int minCapacity)
Ensures that the receiver can hold at least the specified number of associations without needing to allocate new internal
memory.
|
boolean |
forEachKey(IntProcedure procedure)
Applies a procedure to each key of the receiver, if any.
|
boolean |
forEachPair(IntObjectProcedure<T> procedure)
Applies a procedure to each (key,value) pair of the receiver, if any.
|
T |
get(int key)
Returns the value associated with the specified key.
|
protected int |
indexOfInsertion(int key) |
protected int |
indexOfKey(int key) |
protected int |
indexOfValue(T value) |
int |
keyOf(T value)
Returns the first key the given value is associated with.
|
void |
keys(IntArrayList list)
Fills all keys contained in the receiver into the specified list.
|
void |
pairsMatching(IntObjectProcedure condition,
IntArrayList keyList,
ObjectArrayList valueList)
Fills all pairs satisfying a given condition into the specified lists.
|
boolean |
put(int key,
T value)
Associates the given key with the given value.
|
protected void |
rehash(int newCapacity)
Rehashes the contents of the receiver into a new table with a smaller or larger capacity.
|
boolean |
removeKey(int key)
Removes the given key with its associated element from the receiver, if present.
|
protected void |
setUp(int initialCapacity,
double minLoadFactor,
double maxLoadFactor)
Initializes the receiver.
|
void |
trimToSize()
Trims the capacity of the receiver to be the receiver's current size.
|
void |
values(ObjectArrayList list)
Fills all values contained in the receiver into the specified list.
|
copy, equals, keys, keysSortedByValue, pairsSortedByKey, pairsSortedByValue, toString, toStringByValue, valueschooseGrowCapacity, chooseHighWaterMark, chooseLowWaterMark, chooseMeanCapacity, chooseShrinkCapacity, isEmpty, nextPrime, sizeprotected int[] table
protected T[] values
protected byte[] state
protected int freeEntries
protected static final byte FREE
protected static final byte FULL
protected static final byte REMOVED
public OpenIntObjectHashMap()
public OpenIntObjectHashMap(int initialCapacity)
initialCapacity - the initial capacity of the map.IllegalArgumentException - if the initial capacity is less than zero.public OpenIntObjectHashMap(int initialCapacity,
double minLoadFactor,
double maxLoadFactor)
initialCapacity - the initial capacity.minLoadFactor - the minimum load factor.maxLoadFactor - the maximum load factor.IllegalArgumentException - if
initialCapacity < 0 || (minLoadFactor < 0.0 || minLoadFactor >= 1.0) || (maxLoadFactor <= 0.0 || maxLoadFactor >= 1.0) || (minLoadFactor >= maxLoadFactor)
.public void clear()
clear in class AbstractMappublic Object clone()
clone in class PersistentObjectpublic boolean containsKey(int key)
containsKey in class AbstractIntObjectMap<T>public boolean containsValue(T value)
containsValue in class AbstractIntObjectMap<T>public void ensureCapacity(int minCapacity)
This method never need be called; it is for performance tuning only. Calling this method before put()ing a large number of associations boosts performance, because the receiver will grow only once instead of potentially many times and hash collisions get less probable.
ensureCapacity in class AbstractMapminCapacity - the desired minimum capacity.public boolean forEachKey(IntProcedure procedure)
forEachKey in class AbstractIntObjectMap<T>procedure - the procedure to be applied. Stops iteration if the procedure returns false, otherwise continues.public boolean forEachPair(IntObjectProcedure<T> procedure)
forEachKey(IntProcedure).forEachPair in class AbstractIntObjectMap<T>procedure - the procedure to be applied. Stops iteration if the procedure returns false, otherwise continues.public T get(int key)
containsKey(int)
whether the given key has a value associated or not, i.e. whether there exists an association for the given key or not.get in class AbstractIntObjectMap<T>key - the key to be searched for.protected int indexOfInsertion(int key)
key - the key to be added to the receiver.protected int indexOfKey(int key)
key - the key to be searched in the receiver.protected int indexOfValue(T value)
value - the value to be searched in the receiver.public int keyOf(T value)
containsValue(Object) whether there exists an association from a key to this value. Search order is guaranteed to be
identical to the order used by method forEachKey(IntProcedure).keyOf in class AbstractIntObjectMap<T>value - the value to search for.public void keys(IntArrayList list)
forEachKey(IntProcedure).
This method can be used to iterate over the keys of the receiver.
keys in class AbstractIntObjectMap<T>list - the list to be filled, can have any size.public void pairsMatching(IntObjectProcedure condition, IntArrayList keyList, ObjectArrayList valueList)
forEachKey(IntProcedure).
Example:
IntObjectProcedure condition = new IntObjectProcedure() { // match even keys only
public boolean apply(int key, Object value) { return key%2==0; }
}
keys = (8,7,6), values = (1,2,2) --> keyList = (6,8), valueList = (2,1)
pairsMatching in class AbstractIntObjectMap<T>condition - the condition to be matched. Takes the current key as first and the current value as second argument.keyList - the list to be filled with keys, can have any size.valueList - the list to be filled with values, can have any size.public boolean put(int key,
T value)
put in class AbstractIntObjectMap<T>key - the key the value shall be associated with.value - the value to be associated.protected void rehash(int newCapacity)
public boolean removeKey(int key)
removeKey in class AbstractIntObjectMap<T>key - the key to be removed from the receiver.protected void setUp(int initialCapacity,
double minLoadFactor,
double maxLoadFactor)
setUp in class AbstractMapinitialCapacity - the initial capacity of the receiver.minLoadFactor - the minLoadFactor of the receiver.maxLoadFactor - the maxLoadFactor of the receiver.IllegalArgumentException - if
initialCapacity < 0 || (minLoadFactor < 0.0 || minLoadFactor >= 1.0) || (maxLoadFactor <= 0.0 || maxLoadFactor >= 1.0) || (minLoadFactor >= maxLoadFactor)
.public void trimToSize()
trimToSize in class AbstractMappublic void values(ObjectArrayList list)
forEachKey(IntProcedure).
This method can be used to iterate over the values of the receiver.
values in class AbstractIntObjectMap<T>list - the list to be filled, can have any size.Copyright © 2004–2020 Code Lutin. All rights reserved.