public class WeakHashtable extends Hashtable
Hashtable
implementation with weak keys. An entry in a
WeakHashtable
will automatically be removed when its key is no longer
in ordinary use. More precisely, the presence of a mapping for a given key
will not prevent the key from being discarded by the garbage collector and
then reclaimed. When a key has been discarded its entry is effectively
removed from the hashtable, so this class behaves somewhat differently from
Hashtable
implementation.
Each key object in a WeakHashtable
is stored indirectly as the
referent of a weak reference. Therefore a key will automatically be removed
only after the weak references to it, both inside and outside of the map,
have been cleared by the garbage collector.
Implementation note: The value objects in a
WeakHashtable
are held by ordinary strong references. Thus care
should be taken to ensure that value objects do not strongly refer to their
own keys, either directly or indirectly, since that will prevent the keys
from being discarded.
Constructor and Description |
---|
WeakHashtable()
Constructs a new, empty weak hashtable with a default capacity and load
factor.
|
WeakHashtable(int initialCapacity)
Constructs a new, empty weak hashtable with the specified initial capacity.
|
public WeakHashtable()
public WeakHashtable(int initialCapacity)
initialCapacity
- the initial capacity of the hashtable.