Package java.util
Class WeakHashMap<K,V>
java.lang.Object
java.util.AbstractMap<K,V>
java.util.WeakHashMap<K,V>
- All Implemented Interfaces:
Map<K,V>
public class WeakHashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>
WeakHashMap is an implementation of Map with keys which are WeakReferences. A
key/value mapping is removed when the key is no longer referenced. All
optional operations (adding and removing) are supported. Keys and values can
be any objects. Note that the garbage collector acts similar to a second
thread on this collection, possibly removing keys.
- Since:
- 1.2
- See Also:
HashMap,WeakReference
-
Nested Class Summary
Nested classes/interfaces inherited from class java.util.AbstractMap
AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V> -
Constructor Summary
Constructors Constructor Description WeakHashMap()Constructs a new emptyWeakHashMapinstance.WeakHashMap(int capacity)Constructs a newWeakHashMapinstance with the specified capacity.WeakHashMap(int capacity, float loadFactor)Constructs a newWeakHashMapinstance with the specified capacity and load factor.WeakHashMap(Map<? extends K,? extends V> map)Constructs a newWeakHashMapinstance containing the mappings from the specified map. -
Method Summary
Modifier and Type Method Description voidclear()Removes all mappings from this map, leaving it empty.booleancontainsKey(Object key)Returns whether this map contains the specified key.booleancontainsValue(Object value)Returns whether this map contains the specified value.Set<Map.Entry<K,V>>entrySet()Returns a set containing all of the mappings in this map.Vget(Object key)Returns the value of the mapping with the specified key.booleanisEmpty()Returns the number of elements in this map.Set<K>keySet()Returns a set of the keys contained in this map.Vput(K key, V value)Maps the specified key to the specified value.voidputAll(Map<? extends K,? extends V> map)Copies all the mappings in the given map to this map.Vremove(Object key)Removes the mapping with the specified key from this map.intsize()Returns the number of elements in this map.Collection<V>values()Returns a collection of the values contained in this map.Methods inherited from class java.util.AbstractMap
clone, equals, hashCode, toString
-
Constructor Details
-
WeakHashMap
public WeakHashMap()Constructs a new emptyWeakHashMapinstance. -
WeakHashMap
public WeakHashMap(int capacity)Constructs a newWeakHashMapinstance with the specified capacity.- Parameters:
capacity- the initial capacity of this map.- Throws:
IllegalArgumentException- if the capacity is less than zero.
-
WeakHashMap
public WeakHashMap(int capacity, float loadFactor)Constructs a newWeakHashMapinstance with the specified capacity and load factor.- Parameters:
capacity- the initial capacity of this map.loadFactor- the initial load factor.- Throws:
IllegalArgumentException- if the capacity is less than zero or the load factor is less or equal to zero.
-
WeakHashMap
Constructs a newWeakHashMapinstance containing the mappings from the specified map.- Parameters:
map- the mappings to add.
-
-
Method Details
-
clear
public void clear()Removes all mappings from this map, leaving it empty. -
containsKey
Returns whether this map contains the specified key.- Specified by:
containsKeyin interfaceMap<K,V>- Overrides:
containsKeyin classAbstractMap<K,V>- Parameters:
key- the key to search for.- Returns:
trueif this map contains the specified key,falseotherwise.
-
entrySet
Returns a set containing all of the mappings in this map. Each mapping is an instance ofMap.Entry. As the set is backed by this map, changes in one will be reflected in the other. It does not support adding operations. -
keySet
Returns a set of the keys contained in this map. The set is backed by this map so changes to one are reflected by the other. The set does not support adding. -
values
Returns a collection of the values contained in this map. The collection is backed by this map so changes to one are reflected by the other. The collection supports remove, removeAll, retainAll and clear operations, and it does not support add or addAll operations.This method returns a collection which is the subclass of AbstractCollection. The iterator method of this subclass returns a "wrapper object" over the iterator of map's entrySet(). The size method wraps the map's size method and the contains method wraps the map's containsValue method.
The collection is created when this method is called at first time and returned in response to all subsequent calls. This method may return different Collection when multiple calls to this method, since it has no synchronization performed.
-
get
Returns the value of the mapping with the specified key. -
containsValue
Returns whether this map contains the specified value.- Specified by:
containsValuein interfaceMap<K,V>- Overrides:
containsValuein classAbstractMap<K,V>- Parameters:
value- the value to search for.- Returns:
trueif this map contains the specified value,falseotherwise.
-
isEmpty
public boolean isEmpty()Returns the number of elements in this map.- Specified by:
isEmptyin interfaceMap<K,V>- Overrides:
isEmptyin classAbstractMap<K,V>- Returns:
- the number of elements in this map.
- See Also:
Map.size()
-
put
Maps the specified key to the specified value. -
putAll
Copies all the mappings in the given map to this map. These mappings will replace all mappings that this map had for any of the keys currently in the given map.- Specified by:
putAllin interfaceMap<K,V>- Overrides:
putAllin classAbstractMap<K,V>- Parameters:
map- the map to copy mappings from.- Throws:
NullPointerException- ifmapisnull.
-
remove
Removes the mapping with the specified key from this map. -
size
public int size()Returns the number of elements in this map.
-