Junior — Middle
What situations can lead to an element disappearing from a HashMap collection?
sobes.tech AI
Answer from AI
An element can disappear from a HashMap collection in the following situations:
- If the key or value was explicitly removed using
remove()methods. - If
WeakHashMapis used, and the key no longer has strong references, the element can be garbage collected. - Due to errors in the implementation of
hashCode()andequals()methods for keys, which can make it impossible to find the element. - If the collection was modified in another thread without synchronization, unpredictable results, including element disappearance, are possible.
Example with WeakHashMap:
import java.util.WeakHashMap;
public class WeakHashMapExample {
public static void main(String[] args) throws InterruptedException {
WeakHashMap<Object, String> map = new WeakHashMap<>();
Object key = new Object();
map.put(key, "value");
System.out.println("Before GC: " + map);
key = null; // Remove strong reference to key
System.gc(); // Run garbage collector
Thread.sleep(1000); // Wait
System.out.println("After GC: " + map); // Element may disappear
}
}