”;
Introduction
The Java IdentityHashMap class implements the Map interface with a hash table, using reference-equality in place of object-equality when comparing keys (and values).Following are the important points about IdentityHashMap −
-
This class provides all of the optional map operations, and permits null values and the null key.
-
This class makes no guarantees as to the order of the map; in particular, it does not guarantee that the order will remain constant over time.
-
In an IdentityHashMap, two keys k1 and k2 are considered equal if and only if (k1==k2), while in Map implementations (like HashMap) two keys k1 and k2 are considered equal if and only if (k1==null ? k2==null : k1.equals(k2)).
Class declaration
Following is the declaration for java.util.IdentityHashMap class −
public class IdentityHashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Serializable, Cloneable
Class constructors
Sr.No. | Constructor & Description |
---|---|
1 |
IdentityHashMap() This constructs a new, empty identity hash map with a default expected maximum size (21). |
2 |
IdentityHashMap(int expectedMaxSize) This constructs a new, empty map with the specified expected maximum size. |
3 |
IdentityHashMap(Map<? extends K,? extends V> m) This constructs a new identity hash map containing the keys-value mappings in the specified map. |
Class methods
Sr.No. | Method & Description |
---|---|
1 | void clear()
This method removes all of the mappings from this map. |
2 | Object clone()
This method returns a shallow copy of this identity hash map: the keys and values themselves are not cloned. |
3 | boolean containsKey(Object key)
This method tests whether the specified object reference is a key in this identity hash map. |
4 | boolean containsValue(Object value)
This method tests whether the specified object reference is a value in this identity hash map. |
5 | Set<Map.Entry<K,V>> entrySet()
This method returns a Set view of the mappings contained in this map. |
6 | boolean equals(Object o)
This method compares the specified object with this map for equality. |
7 | V get(Object key)
This method returns the value to which the specified key is mapped, or null if this map contains no mapping for the key. |
8 | int hashCode()
This method returns returns the hash code value for this map. |
9 | boolean isEmpty()
This method returns true if this identity hash map contains no key-value mappings. |
10 | Set<K> keySet()
This method returns an identity-based set view of the keys contained in this map. |
11 | V put(K key, V value)
This method associates the specified value with the specified key in this identity hash map. |
12 | void putAll(Map<? extends K,? extends V> m)
This method copies all of the mappings from the specified map to this map. |
13 | V remove(Object key)
This method removes the mapping for this key from this map if present. |
14 | int size()
This method returns the number of key-value mappings in this identity hash map. |
15 | Collection<V> values()
This method returns returns a Collection view of the values contained in this map. |
Methods inherited
This class inherits methods from the following classes −
- java.util.AbstractMap
- java.util.Object
Adding a Key-Value Mapping in an IdentityHashMap Example
The following example shows the usage of Java IdentityHashMap put() method to put few values in a Map. We”ve created a Map object of Integer,Integer. Then few entries are added using put() method and then map is printed.
package com.tutorialspoint; import java.util.IdentityHashMap; public class IdentityHashMapDemo { public static void main(String args[]) { // create identity map IdentityHashMap<Integer,Integer> newmap = new IdentityHashMap<>(); // populate identity map newmap.put(1, 1); newmap.put(2, 2); newmap.put(3, 3); System.out.println("Map elements: " + newmap); } }
Let us compile and run the above program, this will produce the following result.
Map elements: {2=2, 3=3, 1=1}
”;