public class

IdentityMap

extends AbstractHashedMap
implements Serializable Cloneable
java.lang.Object
   ↳ java.util.AbstractMap<K, V>
     ↳ org.apache.commons.collections.map.AbstractHashedMap
       ↳ org.apache.commons.collections.map.IdentityMap

Class Overview

A 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 synchronizedMap(Map). This class may throw exceptions when accessed by concurrent threads without synchronization.

Summary

Nested Classes
class IdentityMap.IdentityEntry HashEntry  
[Expand]
Inherited Constants
From class org.apache.commons.collections.map.AbstractHashedMap
[Expand]
Inherited Fields
From class org.apache.commons.collections.map.AbstractHashedMap
Public Constructors
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.
Public Methods
Object clone()
Clones the map without cloning the keys or values.
Protected Methods
AbstractHashedMap.HashEntry createEntry(AbstractHashedMap.HashEntry next, int hashCode, Object key, Object value)
Creates an entry to store the data.
int hash(Object key)
Gets the hash code for the key specified.
boolean isEqualKey(Object key1, Object key2)
Compares two keys for equals.
boolean isEqualValue(Object value1, Object value2)
Compares two values for equals.
[Expand]
Inherited Methods
From class org.apache.commons.collections.map.AbstractHashedMap
From class java.util.AbstractMap
From class java.lang.Object
From interface java.util.Map
From interface org.apache.commons.collections.IterableMap

Public Constructors

public IdentityMap ()

Constructs a new empty map with default size and load factor.

public IdentityMap (int initialCapacity)

Constructs a new, empty map with the specified initial capacity.

Parameters
initialCapacity the initial capacity
Throws
IllegalArgumentException if the initial capacity is less than one

public IdentityMap (int initialCapacity, float loadFactor)

Constructs a new, empty map with the specified initial capacity and load factor.

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

public IdentityMap (Map map)

Constructor copying elements from another map.

Parameters
map the map to copy
Throws
NullPointerException if the map is null

Public Methods

public Object clone ()

Clones the map without cloning the keys or values.

Returns
  • a shallow clone

Protected Methods

protected AbstractHashedMap.HashEntry createEntry (AbstractHashedMap.HashEntry next, int hashCode, Object key, Object value)

Creates an entry to store the data. This implementation creates an IdentityEntry instance.

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

protected int hash (Object key)

Gets the hash code for the key specified. This implementation uses the identity hash code.

Parameters
key the key to get a hash code for
Returns
  • the hash code

protected boolean isEqualKey (Object key1, Object key2)

Compares two keys for equals. This implementation uses ==.

Parameters
key1 the first key to compare
key2 the second key to compare
Returns
  • true if equal by identity

protected boolean isEqualValue (Object value1, Object value2)

Compares two values for equals. This implementation uses ==.

Parameters
value1 the first value to compare
value2 the second value to compare
Returns
  • true if equal by identity