Class Overview
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 |
|
|
IdentityHashMap()
Create an IdentityHashMap with default maximum size
|
|
|
IdentityHashMap(int maxSize)
Create an IdentityHashMap with the given maximum size parameter
|
|
|
IdentityHashMap(Map<? extends K, ? extends V> map)
Create an IdentityHashMap using the given Map as initial values.
|
| Public Methods |
|
void
|
clear()
Removes all elements from this Map, leaving it empty.
|
|
Object
|
clone()
Returns a new IdentityHashMap with the same mappings and size as this
one.
|
|
boolean
|
containsKey(Object key)
Searches this Map for the specified key.
|
|
boolean
|
containsValue(Object value)
Searches this Map for the specified value.
|
|
Set<Entry<K, V>>
|
entrySet()
Returns a Set of the mappings contained in this IdentityHashMap.
|
|
boolean
|
equals(Object object)
Compares this map with other objects.
|
|
V
|
get(Object key)
Returns the value of the mapping with the specified key.
|
|
boolean
|
isEmpty()
Returns if this IdentityHashMap has no elements, a size of zero.
|
|
Set<K>
|
keySet()
Returns a Set of the keys contained in this IdentityHashMap.
|
|
V
|
put(K key, V value)
Maps the specified key to the specified value.
|
|
void
|
putAll(Map<? extends K, ? extends V> map)
Copies all the mappings in the given map to this map.
|
|
V
|
remove(Object key)
Removes a mapping with the specified key from this IdentityHashMap.
|
|
int
|
size()
Returns the number of mappings in this IdentityHashMap.
|
|
Collection<V>
|
values()
Returns a Collection of the values contained in this IdentityHashMap.
|
|
[Expand]
Inherited Methods |
From class java.util.AbstractMap
|
void
|
clear()
Removes all elements from this Map, leaving it empty.
|
|
Object
|
clone()
Returns a new instance of the same class as the receiver, whose slots
have been filled in with the values in the slots of the receiver.
|
|
boolean
|
containsKey(Object key)
Searches this Map for the specified key.
|
|
boolean
|
containsValue(Object value)
Searches this Map for the specified value.
|
|
abstract
Set<Entry<K, V>>
|
entrySet()
Returns a set view of the mappings contained in this map.
|
|
boolean
|
equals(Object object)
Compares the specified object to this Map and answer if they are equal.
|
|
V
|
get(Object key)
Returns the value of the mapping with the specified key.
|
|
int
|
hashCode()
Returns an integer hash code for the receiver.
|
|
boolean
|
isEmpty()
Returns if this Map has no elements, a size of zero.
|
|
Set<K>
|
keySet()
Returns a Set of the keys contained in this Map.
|
|
V
|
put(K key, V value)
Maps the specified key to the specified value.
|
|
void
|
putAll(Map<? extends K, ? extends V> map)
Copies every mapping in the specified Map to this Map.
|
|
V
|
remove(Object key)
Removes a mapping with the specified key from this Map.
|
|
int
|
size()
Returns the number of elements in this Map.
|
|
String
|
toString()
Returns the string representation of this Map.
|
|
Collection<V>
|
values()
Returns a collection of the values contained in this map.
|
|
From class java.lang.Object
|
Object
|
clone()
Returns a new instance of the same class as the receiver, whose slots
have been filled in with the values in the slots of the receiver.
|
|
boolean
|
equals(Object o)
Compares the argument to the receiver, and returns true if they represent
the same object using a class specific comparison.
|
|
void
|
finalize()
Called by the virtual machine when there are no longer any (non-weak)
references to the receiver.
|
|
final
Class<? extends Object>
|
getClass()
Returns the unique instance of java.lang.Class which represents the class
of the receiver.
|
|
int
|
hashCode()
Returns an integer hash code for the receiver.
|
|
final
void
|
notify()
Causes one thread which is wait ing on the receiver to be
made ready to run.
|
|
final
void
|
notifyAll()
Causes all threads which are wait ing on the receiver to
be made ready to run.
|
|
String
|
toString()
Returns a string containing a concise, human-readable description of the
receiver.
|
|
final
void
|
wait(long time, int frac)
Causes the thread which sent this message to be made not ready to run
either pending some change in the receiver (as indicated by
notify or notifyAll) or the expiration of
the timeout.
|
|
final
void
|
wait(long time)
Causes the thread which sent this message to be made not ready to run
either pending some change in the receiver (as indicated by
notify or notifyAll) or the expiration of
the timeout.
|
|
final
void
|
wait()
Causes the thread which sent this message to be made not ready to run
pending some change in the receiver (as indicated by notify
or notifyAll).
|
|
From interface java.util.Map
|
abstract
void
|
clear()
Removes all elements from this Map, leaving it empty.
|
|
abstract
boolean
|
containsKey(Object key)
Searches this Map for the specified key.
|
|
abstract
boolean
|
containsValue(Object value)
Searches this Map for the specified value.
|
|
abstract
Set<Entry<K, V>>
|
entrySet()
Returns a Set whose elements comprise all of the mappings
that are to be found in this Map.
|
|
abstract
boolean
|
equals(Object object)
Compares the argument to the receiver, and returns true if they represent
the same object using a class specific comparison.
|
|
abstract
V
|
get(Object key)
Returns the value of the mapping with the specified key.
|
|
abstract
int
|
hashCode()
Returns an integer hash code for the receiver.
|
|
abstract
boolean
|
isEmpty()
Returns if this Map has no elements, a size of zero.
|
|
abstract
Set<K>
|
keySet()
Returns a Set of the keys contained in this Map.
|
|
abstract
V
|
put(K key, V value)
Maps the specified key to the specified value.
|
|
abstract
void
|
putAll(Map<? extends K, ? extends V> map)
Copies every mapping in the specified Map to this Map.
|
|
abstract
V
|
remove(Object key)
Removes a mapping with the specified key from this Map.
|
|
abstract
int
|
size()
Returns the number of elements in this Map.
|
|
abstract
Collection<V>
|
values()
Returns all of the current Map values in a
Collection.
|
|
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