java.util.IdentityHashMap<K, V>
IdentityHashMap
This is a variant on HashMap which tests equality by reference instead of by
value. Basically, keys and values are compared for equality by checking if
their references are equal rather than by calling the "equals" function.
IdentityHashMap uses open addressing (linear probing in particular) for
collision resolution. This is different from HashMap which uses Chaining.
Like HashMap, IdentityHashMap is not thread safe, so access by multiple
threads must be synchronized by an external mechanism such as
Collections.synchronizedMap.
Summary
Public Constructors
Public Methods
clear,
clone,
containsKey,
containsValue,
entrySet,
equals,
get,
hashCode,
isEmpty,
keySet,
put,
putAll,
remove,
size,
toString,
values
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait
Methods inherited
from interface
java.util.Map
clear,
containsKey,
containsValue,
entrySet,
equals,
get,
hashCode,
isEmpty,
keySet,
put,
putAll,
remove,
size,
values
Details
Public Constructors
public
IdentityHashMap()
Create an IdentityHashMap with default maximum size
public
IdentityHashMap(int maxSize)
Create an IdentityHashMap with the given maximum size parameter
Parameters
maxSize
| The estimated maximum number of entries that will be put in
this map.
|
public
IdentityHashMap(Map<? extends K, ? extends V> map)
Create an IdentityHashMap using the given Map as initial values.
Parameters
map
| A map of (key,value) pairs to copy into the IdentityHashMap
|
Public Methods
public
void
clear()
Removes all elements from this Map, leaving it empty.
public
Object
clone()
Returns a new IdentityHashMap with the same mappings and size as this
one.
Returns
- a shallow copy of this IdentityHashMap
public
boolean
containsKey(Object key)
Searches this Map for the specified key.
Parameters
key
| the object to search for |
Returns
- true if
key
is a key of this Map, false otherwise
public
boolean
containsValue(Object value)
Searches this Map for the specified value.
Parameters
value
| the object to search for |
Returns
- true if
value
is a value of this Map, false
otherwise
public
Set<Entry<K, V>>
entrySet()
Returns a Set of the mappings contained in this IdentityHashMap. Each
element in the set is a Map.Entry. The set is backed by this Map so
changes to one are reflected by the other. The set does not support
adding.
public
boolean
equals(Object object)
Compares this map with other objects. This map is equal to another map is
it represents the same set of mappings. With this map, two mappings are
the same if both the key and the value are equal by reference.
When compared with a map that is not an IdentityHashMap, the equals
method is not necessarily symmetric (a.equals(b) implies b.equals(a)) nor
transitive (a.equals(b) and b.equals(c) implies a.equals(c)).
Parameters
object
| the object to compare with this object |
Returns
- whether the argument object is equal to this object
public
V
get(Object key)
Returns the value of the mapping with the specified key.
Returns
- the value of the mapping with the specified key
public
boolean
isEmpty()
Returns if this IdentityHashMap has no elements, a size of zero.
Returns
- true if this IdentityHashMap has no elements, false otherwise
public
Set<K>
keySet()
Returns a Set of the keys contained in this IdentityHashMap. The set is
backed by this IdentityHashMap so changes to one are reflected by the
other. The set does not support adding.
public
V
put(K key, V value)
Maps the specified key to the specified value.
Parameters
key
| the key |
value
| the value |
Returns
- the value of any previous mapping with the specified key or null
if there was no mapping
public
void
putAll(Map<? extends K, ? extends V> map)
Copies all the mappings in the given map to this map. These mappings will
replace all mappings that this map had for any of the keys currently in
the given map.
Parameters
map
| the Map to copy mappings from |
public
V
remove(Object key)
Removes a mapping with the specified key from this IdentityHashMap.
Parameters
key
| the key of the mapping to remove |
Returns
- the value of the removed mapping, or null if key is not a key in
this Map
public
int
size()
Returns the number of mappings in this IdentityHashMap.
Returns
- the number of mappings in this IdentityHashMap
Returns a Collection of the values contained in this IdentityHashMap. The
collection is backed by this IdentityHashMap so changes to one are
reflected by the other. The collection does not support adding.
Returns
- a Collection of the values