Java IdentityHashMap get() Method

The IdentityHashMap.get() method in Java is used to retrieve the value associated with the specified key in the map. If the key is not found, the method returns null. This guide will cover the method's usage, explain how it works, and provide examples to demonstrate its functionality. We will also cover a real-world use case to show how IdentityHashMap.get() can be used effectively.

Table of Contents

  1. Introduction
  2. get Method Syntax
  3. Examples
    • Basic Usage of get Method
    • Handling Non-Existent Keys
  4. Real-World Use Case
    • Example: Retrieving User Sessions from IdentityHashMap
  5. Conclusion

Introduction

The IdentityHashMap.get() method is a member of the IdentityHashMap class in Java. This class uses reference equality (==) instead of object equality (equals()) when comparing keys. The get method retrieves the value associated with the specified key in the map. If the key is not found, the method returns null.

get() Method Syntax

The syntax for the get method is as follows:

public V get(Object key)
  • Parameters:
    • key: The key whose associated value is to be returned.
  • Returns: The value associated with the specified key, or null if the map contains no mapping for the key.

Examples

Basic Usage of get Method

The get method can be used to retrieve the value associated with a specified key in an IdentityHashMap.

Example

import java.util.IdentityHashMap;

public class IdentityHashMapGetExample {
    public static void main(String[] args) {
        // Creating an IdentityHashMap
        IdentityHashMap<String, Integer> map = new IdentityHashMap<>();

        // Adding key-value pairs to the IdentityHashMap
        map.put("Ravi", 25);
        map.put("Priya", 30);
        map.put("Vijay", 35);

        // Retrieving values associated with keys
        Integer ageRavi = map.get("Ravi");
        Integer agePriya = map.get("Priya");

        // Printing the retrieved values
        System.out.println("Age of Ravi: " + ageRavi);
        System.out.println("Age of Priya: " + agePriya);
    }
}

Output:

Age of Ravi: 25
Age of Priya: 30

Handling Non-Existent Keys

If the specified key is not found in the IdentityHashMap, the get method returns null.

Example

import java.util.IdentityHashMap;

public class IdentityHashMapGetNonExistentKeyExample {
    public static void main(String[] args) {
        // Creating an IdentityHashMap
        IdentityHashMap<String, Integer> map = new IdentityHashMap<>();

        // Adding key-value pairs to the IdentityHashMap
        map.put("Ravi", 25);
        map.put("Priya", 30);

        // Attempting to retrieve a value associated with a non-existent key
        Integer ageVijay = map.get("Vijay");

        // Printing the result
        System.out.println("Age of Vijay: " + ageVijay);
    }
}

Output:

Age of Vijay: null

Real-World Use Case

Example: Retrieving User Sessions from IdentityHashMap

A common real-world use case for IdentityHashMap.get() is retrieving user sessions in a web application where reference equality is required.

Example

import java.util.IdentityHashMap;

public class UserSessionRetriever {
    static class UserSession {
        private String sessionId;
        private String userName;

        public UserSession(String sessionId, String userName) {
            this.sessionId = sessionId;
            this.userName = userName;
        }

        @Override
        public String toString() {
            return "UserSession{" +
                    "sessionId='" + sessionId + '\'' +
                    ", userName='" + userName + '\'' +
                    '}';
        }
    }

    public static void main(String[] args) {
        // Creating user sessions
        UserSession session1 = new UserSession("S1", "Ravi");
        UserSession session2 = new UserSession("S2", "Priya");
        UserSession session3 = new UserSession("S3", "Vijay");

        // Creating an IdentityHashMap to manage user sessions
        IdentityHashMap<UserSession, String> sessionMap = new IdentityHashMap<>();
        sessionMap.put(session1, "Active");
        sessionMap.put(session2, "Inactive");

        // Retrieving session statuses
        String statusSession1 = sessionMap.get(session1);
        String statusSession3 = sessionMap.get(session3);

        // Printing the session statuses
        System.out.println("Status of session 1: " + statusSession1);
        System.out.println("Status of session 3: " + statusSession3);
    }
}

Output:

Status of session 1: Active
Status of session 3: null

In this example, IdentityHashMap.get() is used to retrieve the status of user sessions, where sessions are identified by reference equality, making it suitable for scenarios where unique object references are crucial.

Conclusion

The IdentityHashMap.get() method in Java provides a way to retrieve the value associated with a specified key in the map, using reference equality for key comparison. By understanding how to use this method, you can efficiently manage collections of key-value pairs where reference equality is required. This method allows you to utilize the power of IdentityHashMap for various scenarios, making it a versatile tool for managing collections of key-value pairs based on reference equality.

Comments