⇒ Index (Frames) |  ⇒ Index (No Frames) |  ⇒ Package |  ⇒ Package Tree |  ⇒ Full Tree 
org.apache.commons.collections.map

Class IdentityMap

java.lang.Object
|
+--org.apache.commons.collections.map.AbstractHashedMap
   |
   +--org.apache.commons.collections.map.IdentityMap

All Implemented Interfaces:
Cloneable, IterableMap, Serializable


public class IdentityMap
extends AbstractHashedMap
implements Serializable, Cloneable

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.

Since:
Commons Collections 3.0
Authors:
java util HashMap
Stephen Colebourne

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.

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.

Constructor Details

IdentityMap

public IdentityMap()

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


IdentityMap

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:
- if the initial capacity is less than one
- if the load factor is less than zero

IdentityMap

public IdentityMap(int initialCapacity)

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

Parameters:
initialCapacity - the initial capacity
Throws:
- if the initial capacity is less than one

IdentityMap

public IdentityMap(Map map)

Constructor copying elements from another map.

Parameters:
map - the map to copy
Throws:
- if the map is null

Method Details

clone

public Object clone()

Clones the map without cloning the keys or values.

Returns:
a shallow clone

createEntry

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

hash

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

isEqualKey

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

isEqualValue

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