Identity HashMap Example Java Program

Definition

Identity HashMap is a HashTable based implementation of Map Interface. Normal Hashmap compares keys using '.equals' method. But Identity Hashmap compares its keys using '==' operator. Hence 'a' and new String('a') are considered as 2 different keys. The initial size of Identity hashmap is 21 while the initial size of normal Hashmap is 16. 

Syntax

IdentityHashMap<key-variable-type,value-variable-type> identityHashMap = new IdentityHashMap<key-variable-type,value-variable-type>();

Identity HashMap Example Program

import java.util.IdentityHashMap;

public class IdentityHashMapExample {

    public static void main(String args[]) {

        IdentityHashMap<String, String> identityHashMap = new IdentityHashMap<String, String>();

        identityHashMap.put("a", "Apple");
        identityHashMap.put(new String("a"), "Aeroplane");
        identityHashMap.put("b", "Ball");
        identityHashMap.put(new String("b"), "Bat");
        identityHashMap.put("c", "Cat");

        for (String str : identityHashMap.keySet()) {
            System.out.println("Key : " + str + " and Value : " + identityHashMap.get(str));
        }

        System.out.println("Size of map is : " + identityHashMap.size());
        System.out.println("Here 'a' and new String('a') are considered as separate keys");
    }
}

Sample Output

Key : a and Value : Apple
Key : b and Value : Ball
Key : c and Value : Cat
Key : b and Value : Bat
Key : a and Value : Aeroplane
Size of map is : 5
Here 'a' and new String('a') are considered as separate keys