public class IntMap<V>
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
static class |
IntMap.Entries<V> |
static class |
IntMap.Entry<V> |
static class |
IntMap.Keys |
private static class |
IntMap.MapIterator<V> |
static class |
IntMap.Values<V> |
| Modifier and Type | Field and Description |
|---|---|
(package private) int |
capacity |
private static int |
EMPTY |
private int |
hashShift |
(package private) boolean |
hasZeroValue |
(package private) int[] |
keyTable |
private float |
loadFactor |
private int |
mask |
private static int |
PRIME1 |
private static int |
PRIME2 |
private static int |
PRIME3 |
private int |
pushIterations |
int |
size |
private int |
stashCapacity |
(package private) int |
stashSize |
private int |
threshold |
(package private) V[] |
valueTable |
(package private) V |
zeroValue |
| Constructor and Description |
|---|
IntMap()
Creates a new map with an initial capacity of 32 and a load factor of 0.8.
|
IntMap(int initialCapacity)
Creates a new map with a load factor of 0.8.
|
IntMap(int initialCapacity,
float loadFactor)
Creates a new map with the specified initial capacity and load factor.
|
IntMap(IntMap<? extends V> map)
Creates a new map identical to the specified map.
|
| Modifier and Type | Method and Description |
|---|---|
void |
clear() |
void |
clear(int maximumCapacity)
Clears the map and reduces the size of the backing arrays to be the specified capacity if they are larger.
|
boolean |
containsKey(int key) |
private boolean |
containsKeyStash(int key) |
boolean |
containsValue(java.lang.Object value,
boolean identity)
Returns true if the specified value is in the map.
|
void |
ensureCapacity(int additionalCapacity)
Increases the size of the backing array to acommodate the specified number of additional items.
|
IntMap.Entries<V> |
entries()
Returns an iterator for the entries in the map.
|
int |
findKey(java.lang.Object value,
boolean identity,
int notFound)
Returns the key for the specified value, or notFound if it is not in the map.
|
V |
get(int key) |
V |
get(int key,
V defaultValue) |
private V |
getStash(int key,
V defaultValue) |
private int |
hash2(int h) |
private int |
hash3(int h) |
IntMap.Keys |
keys()
Returns an iterator for the keys in the map.
|
private void |
push(int insertKey,
V insertValue,
int index1,
int key1,
int index2,
int key2,
int index3,
int key3) |
V |
put(int key,
V value) |
void |
putAll(IntMap<V> map) |
private void |
putResize(int key,
V value)
Skips checks for existing keys.
|
private void |
putStash(int key,
V value) |
V |
remove(int key) |
(package private) V |
removeStash(int key) |
(package private) void |
removeStashIndex(int index) |
private void |
resize(int newSize) |
void |
shrink(int maximumCapacity)
Reduces the size of the backing arrays to be the specified capacity or less.
|
java.lang.String |
toString() |
IntMap.Values<V> |
values()
Returns an iterator for the values in the map.
|
private static final int PRIME1
private static final int PRIME2
private static final int PRIME3
private static final int EMPTY
public int size
int[] keyTable
V[] valueTable
int capacity
int stashSize
V zeroValue
boolean hasZeroValue
private float loadFactor
private int hashShift
private int mask
private int threshold
private int stashCapacity
private int pushIterations
public IntMap()
public IntMap(int initialCapacity)
public IntMap(int initialCapacity,
float loadFactor)
private void putResize(int key,
V value)
private void push(int insertKey,
V insertValue,
int index1,
int key1,
int index2,
int key2,
int index3,
int key3)
private void putStash(int key,
V value)
public V get(int key)
public V remove(int key)
V removeStash(int key)
void removeStashIndex(int index)
public void shrink(int maximumCapacity)
public void clear(int maximumCapacity)
public void clear()
public boolean containsValue(java.lang.Object value,
boolean identity)
identity - If true, uses == to compare the specified value with values in the map. If false, uses
Object.equals(Object).public boolean containsKey(int key)
private boolean containsKeyStash(int key)
public int findKey(java.lang.Object value,
boolean identity,
int notFound)
identity - If true, uses == to compare the specified value with values in the map. If false, uses
Object.equals(Object).public void ensureCapacity(int additionalCapacity)
private void resize(int newSize)
private int hash2(int h)
private int hash3(int h)
public java.lang.String toString()
toString in class java.lang.Objectpublic IntMap.Entries<V> entries()
IntMap.Entries constructor for nested or multithreaded iteration.public IntMap.Values<V> values()
IntMap.Entries constructor for nested or multithreaded iteration.public IntMap.Keys keys()
IntMap.Entries constructor for nested or multithreaded iteration.