|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.badlogic.gdx.utils.IdentityMap<K,V>
public class IdentityMap<K,V>
An unordered map that uses identity comparison for keys. This implementation is a cuckoo hash map using 3 hashes, random
walking, and a small stash for problematic keys. Null keys are not allowed. Null values are allowed. No allocation is done
except when growing the table size.
This map performs very fast get, containsKey, and remove (typically O(1), worst case O(log(n))). Put may be a bit slower,
depending on hash collisions. Load factors greater than 0.91 greatly increase the chances the map will have to rehash to the
next higher POT size.
Nested Class Summary | |
---|---|
static class |
IdentityMap.Entries<K,V>
|
static class |
IdentityMap.Entry<K,V>
|
static class |
IdentityMap.Keys<K>
|
static class |
IdentityMap.Values<V>
|
Field Summary | |
---|---|
int |
size
|
Constructor Summary | |
---|---|
IdentityMap()
Creates a new map with an initial capacity of 32 and a load factor of 0.8. |
|
IdentityMap(int initialCapacity)
Creates a new map with a load factor of 0.8. |
|
IdentityMap(int initialCapacity,
float loadFactor)
Creates a new map with the specified initial capacity and load factor. |
Method Summary | |
---|---|
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(K key)
|
boolean |
containsValue(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. |
IdentityMap.Entries<K,V> |
entries()
Returns an iterator for the entries in the map. |
K |
findKey(Object value,
boolean identity)
Returns the key for the specified value, or null if it is not in the map. |
V |
get(K key)
|
V |
get(K key,
V defaultValue)
|
IdentityMap.Keys<K> |
keys()
Returns an iterator for the keys in the map. |
V |
put(K key,
V value)
|
V |
remove(K key)
|
void |
shrink(int maximumCapacity)
Reduces the size of the backing arrays to be the specified capacity or less. |
String |
toString()
|
IdentityMap.Values<V> |
values()
Returns an iterator for the values in the map. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public int size
Constructor Detail |
---|
public IdentityMap()
public IdentityMap(int initialCapacity)
public IdentityMap(int initialCapacity, float loadFactor)
Method Detail |
---|
public V put(K key, V value)
public V get(K key)
public V get(K key, V defaultValue)
public V remove(K key)
public void shrink(int maximumCapacity)
public void clear(int maximumCapacity)
public void clear()
public boolean containsValue(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(K key)
public K findKey(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 void ensureCapacity(int additionalCapacity)
public String toString()
toString
in class Object
public IdentityMap.Entries<K,V> entries()
IdentityMap.Entries
constructor for nested or multithreaded iteration.
public IdentityMap.Values<V> values()
IdentityMap.Entries
constructor for nested or multithreaded iteration.
public IdentityMap.Keys<K> keys()
IdentityMap.Entries
constructor for nested or multithreaded iteration.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |