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 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 collecter 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 Commons Collections 3.0 (previously in main package v2.1)
@version $Revision$ $Date$
@author Paul Jack
@author Stephen Colebourne
|
|
|
|
|
|
|
|
|
|