- Java.util Package Classes
- Java.util - Home
- Java.util - ArrayDeque
- Java.util - ArrayList
- Java.util - Arrays
- Java.util - BitSet
- Java.util - Calendar
- Java.util - Collections
- Java.util - Currency
- Java.util - Date
- Java.util - Dictionary
- Java.util - EnumMap
- Java.util - EnumSet
- Java.util - Formatter
- Java.util - GregorianCalendar
- Java.util - HashMap
- Java.util - HashSet
- Java.util - Hashtable
- Java.util - IdentityHashMap
- Java.util - LinkedHashMap
- Java.util - LinkedHashSet
- Java.util - LinkedList
- Java.util - ListResourceBundle
- Java.util - Locale
- Java.util - Observable
- Java.util - PriorityQueue
- Java.util - Properties
- Java.util - PropertyPermission
- Java.util - PropertyResourceBundle
- Java.util - Random
- Java.util - ResourceBundle
- Java.util - ResourceBundle.Control
- Java.util - Scanner
- Java.util - ServiceLoader
- Java.util - SimpleTimeZone
- Java.util - Stack
- Java.util - StringTokenizer
- Java.util - Timer
- Java.util - TimerTask
- Java.util - TimeZone
- Java.util - TreeMap
- Java.util - TreeSet
- Java.util - UUID
- Java.util - Vector
- Java.util - WeakHashMap
- Java.util Package Extras
- Java.util - Interfaces
- Java.util - Exceptions
- Java.util - Enumerations
- Java.util Useful Resources
- Java.util - Useful Resources
- Java.util - Discussion
Java IdentityHashMap Class
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}