org.apache.commons.collections.map
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 java.util.Collections#synchronizedMap(Map). This class may throw exceptions when accessed by concurrent threads without synchronization.
Since: Commons Collections 3.0
Version: $Revision: 348007 $ $Date: 2005-11-21 22:52:57 +0000 (Mon, 21 Nov 2005) $
Nested Class Summary | |
---|---|
protected static class | IdentityMap.IdentityEntry
HashEntry |
Constructor Summary | |
---|---|
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.
|
Method Summary | |
---|---|
Object | clone()
Clones the map without cloning the keys or values.
|
protected HashEntry | createEntry(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.
|
Parameters: initialCapacity the initial capacity
Throws: IllegalArgumentException if the initial capacity is less than one
Parameters: initialCapacity the initial capacity loadFactor the load factor
Throws: IllegalArgumentException if the initial capacity is less than one IllegalArgumentException if the load factor is less than zero
Parameters: map the map to copy
Throws: NullPointerException if the map is null
Returns: a shallow clone
Parameters: next the next entry in sequence hashCode the hash code to use key the key to store value the value to store
Returns: the newly created entry
Parameters: key the key to get a hash code for
Returns: the hash code
==
.
Parameters: key1 the first key to compare key2 the second key to compare
Returns: true if equal by identity
==
.
Parameters: value1 the first value to compare value2 the second value to compare
Returns: true if equal by identity