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: 646777 $ $Date: 2008-04-10 13:33:15 +0100 (Thu, 10 Apr 2008) $
| 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