In Java there is a data structure called a WeakHashMap that stores weak references as keys. Whenever the weak references are taken out of memory the entry is removed from the map.
If I have a data structure such as a Stack or a Set where I am storing weak references, will their entries be automatically removed when the weak reference is taken out of memory?
Below is an example of a Stack that stores weak references.
Stack<WeakReference<Object>> objStack = new Stack<WeakReference<Object>>();
Yes. What you're describing is a property of weak references in general, not WeakHashMap
specifically.
From the API:
Suppose that the garbage collector determines at a certain point in time that an object is weakly reachable. At that time it will atomically clear all weak references to that object...