sun.com/j2se/1.4/docs/api/java/util/WeakHashMap.html">
WeakHashMap
. However, you can also specify hard keys and weak values, or any other combination. The default constructor uses hard keys and soft values, providing a memory-sensitive cache.
This map is similar to {@link org.apache.commons.collections4.map.ReferenceIdentityMap ReferenceIdentityMap}. It differs in that keys and values in this class are compared using equals()
.
This {@link java.util.Map Map} implementation does not allow null elements.Attempting to add a null key or value to the map will raise a NullPointerException
.
This implementation is not synchronized. You can use {@link java.util.Collections#synchronizedMap} toprovide synchronized access to a ReferenceMap
. Remember that synchronization will not stop the garbage collector removing entries.
All the available iterators can be reset back to the start by casting to ResettableIterator
and calling reset()
.
Note that ReferenceMap is not synchronized and is not thread-safe. If you wish to use this map from multiple threads concurrently, you must use appropriate synchronization. The simplest approach is to wrap this map using {@link java.util.Collections#synchronizedMap}. This class may throw exceptions when accessed by concurrent threads without synchronization.
NOTE: As from Commons Collections 3.1 this map extends AbstractReferenceMap
(previously it extended AbstractMap). As a result, the implementation is now extensible and provides a MapIterator
.
@see java.lang.ref.Reference
@since 3.0 (previously in main package v2.1)
@version $Id: ReferenceMap.java 1477799 2013-04-30 19:56:11Z tn $