Junior — Middle
What is the main function and use cases of the IdentityHashMap class in Java?
sobes.tech AI
Answer from AI
IdentityHashMap is an implementation of the Map interface in Java that uses the == operator for comparing keys, rather than the equals() method.
Its main function is to store key-value pairs where keys are compared by reference, not by content. This is useful when you need to distinguish objects even if they are equal according to equals(), but are different instances.
Use cases:
- Caching, where it is important to distinguish objects specifically, not their logical equality.
- When implementing data structures where reference comparison is faster or more logically correct.
Example:
Map<String, String> map = new IdentityHashMap<>();
String a = new String("key");
String b = new String("key");
map.put(a, "value1");
System.out.println(map.get(b)); // null, because a != b by reference