|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.esotericsoftware.kryo.util.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()
|
boolean |
containsKey(K 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. |
IdentityMap.Entries<K,V> |
entries()
Returns an iterator for the entries in the map. |
K |
findKey(java.lang.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)
|
java.lang.String |
toString()
|
IdentityMap.Values<V> |
values()
Returns an iterator for the values in the map. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, 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 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(K key)
public K findKey(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 void ensureCapacity(int additionalCapacity)
public java.lang.String toString()
toString
in class java.lang.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 |