public class IdentityMap extends AbstractHashedMap implements Serializable, Cloneable
Map implementation that matches keys and values based
on == not equals().
This map will violate the detail of various Map and map view contracts. As a general rule, don't compare this map to other maps.
Note that IdentityMap is not synchronized and is not thread-safe.
If you wish to use this map from multiple threads concurrently, you must use
appropriate synchronization. The simplest approach is to wrap this map
using Collections.synchronizedMap(Map). This class may throw
exceptions when accessed by concurrent threads without synchronization.
| Modifier and Type | Class and Description |
|---|---|
protected static class |
IdentityMap.IdentityEntry
HashEntry
|
AbstractHashedMap.EntrySet, AbstractHashedMap.EntrySetIterator, AbstractHashedMap.HashEntry, AbstractHashedMap.HashIterator, AbstractHashedMap.HashMapIterator, AbstractHashedMap.KeySet, AbstractHashedMap.KeySetIterator, AbstractHashedMap.Values, AbstractHashedMap.ValuesIteratorAbstractMap.SimpleEntry, AbstractMap.SimpleImmutableEntrydata, DEFAULT_CAPACITY, DEFAULT_LOAD_FACTOR, DEFAULT_THRESHOLD, entrySet, GETKEY_INVALID, GETVALUE_INVALID, keySet, loadFactor, MAXIMUM_CAPACITY, modCount, NO_NEXT_ENTRY, NO_PREVIOUS_ENTRY, NULL, REMOVE_INVALID, SETVALUE_INVALID, size, threshold, values| Constructor and Description |
|---|
IdentityMap()
Constructs a new empty map with default size and load factor.
|
IdentityMap(int initialCapacity)
Constructs a new, empty map with the specified initial capacity.
|
IdentityMap(int initialCapacity,
float loadFactor)
Constructs a new, empty map with the specified initial capacity and
load factor.
|
IdentityMap(Map map)
Constructor copying elements from another map.
|
| Modifier and Type | Method and Description |
|---|---|
Object |
clone()
Clones the map without cloning the keys or values.
|
protected AbstractHashedMap.HashEntry |
createEntry(AbstractHashedMap.HashEntry next,
int hashCode,
Object key,
Object value)
Creates an entry to store the data.
|
protected int |
hash(Object key)
Gets the hash code for the key specified.
|
protected boolean |
isEqualKey(Object key1,
Object key2)
Compares two keys for equals.
|
protected boolean |
isEqualValue(Object value1,
Object value2)
Compares two values for equals.
|
addEntry, addMapping, calculateNewCapacity, calculateThreshold, checkCapacity, clear, containsKey, containsValue, convertKey, createEntrySetIterator, createKeySetIterator, createValuesIterator, destroyEntry, doReadObject, doWriteObject, ensureCapacity, entryHashCode, entryKey, entryNext, entrySet, entryValue, equals, get, getEntry, hashCode, hashIndex, init, isEmpty, keySet, mapIterator, put, putAll, remove, removeEntry, removeMapping, reuseEntry, size, toString, updateEntry, valuespublic IdentityMap()
public IdentityMap(int initialCapacity)
initialCapacity - the initial capacityIllegalArgumentException - if the initial capacity is less than onepublic IdentityMap(int initialCapacity,
float loadFactor)
initialCapacity - the initial capacityloadFactor - the load factorIllegalArgumentException - if the initial capacity is less than oneIllegalArgumentException - if the load factor is less than zeropublic IdentityMap(Map map)
map - the map to copyNullPointerException - if the map is nullprotected int hash(Object key)
hash in class AbstractHashedMapkey - the key to get a hash code forprotected boolean isEqualKey(Object key1, Object key2)
==.isEqualKey in class AbstractHashedMapkey1 - the first key to comparekey2 - the second key to compareprotected boolean isEqualValue(Object value1, Object value2)
==.isEqualValue in class AbstractHashedMapvalue1 - the first value to comparevalue2 - the second value to compareprotected AbstractHashedMap.HashEntry createEntry(AbstractHashedMap.HashEntry next, int hashCode, Object key, Object value)
createEntry in class AbstractHashedMapnext - the next entry in sequencehashCode - the hash code to usekey - the key to storevalue - the value to storepublic Object clone()
clone in class AbstractHashedMapCopyright © 2001–2015 The Apache Software Foundation. All rights reserved.