Build 1.0_r1(from source)

java.util
Class WeakHashMap<K,V>

java.lang.Object
  extended by java.util.AbstractMap<K,V>
      extended by 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. The key/value mapping is removed when the key is no longer referenced. All optional operations are supported, adding and removing. Keys and values can be any objects.

Since:
1.2
See Also:
HashMap, WeakReference

Nested Class Summary
(package private)  class WeakHashMap.HashIterator<R>
           
 
Field Summary
(package private)  int elementCount
           
(package private)  java.util.WeakHashMap.Entry<K,V>[] elementData
           
(package private)  int modCount
           
 
Fields inherited from class java.util.AbstractMap
keySet, valuesCollection
 
Constructor Summary
WeakHashMap()
          Constructs a new empty instance of WeakHashMap.
WeakHashMap(int capacity)
          Constructs a new instance of WeakHashMap with the specified capacity.
WeakHashMap(int capacity, float loadFactor)
          Constructs a new instance of WeakHashMap with the specified capacity and load factor.
WeakHashMap(Map<? extends K,? extends V> map)
          Constructs a new instance of HashMap containing the mappings from the specified Map.
 
Method Summary
 void clear()
          Removes all mappings from this WeakHashMap, leaving it empty.
 boolean containsKey(Object key)
          Searches this WeakHashMap for the specified key.
 boolean containsValue(Object value)
          Searches this WeakHashMap for the specified value, and returns true, if at least one entry has this object as its value.
 Set<Map.Entry<K,V>> entrySet()
          Returns a Set of the mappings contained in this WeakHashMap.
 V get(Object key)
          Returns the value of the mapping with the specified key.
(package private)  java.util.WeakHashMap.Entry<K,V> getEntry(Object key)
           
 boolean isEmpty()
          Returns if this WeakHashMap has no elements, a size of zero.
 Set<K> keySet()
          Returns a Set of the keys contained in this WeakHashMap.
(package private)  void poll()
           
 V put(K key, V value)
          Maps the specified key to the specified value.
 void putAll(Map<? extends K,? extends V> map)
          Copies all the mappings in the given map to this map.
 V remove(Object key)
          Removes a mapping with the specified key from this WeakHashMap.
(package private)  void removeEntry(java.util.WeakHashMap.Entry<K,V> toRemove)
           
 int size()
          Returns the number of mappings in this WeakHashMap.
 Collection<V> values()
          Returns a Collection of the values contained in this WeakHashMap.
 
Methods inherited from class java.util.AbstractMap
clone, equals, hashCode, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.Map
equals, hashCode
 

Field Detail

elementCount

int elementCount

elementData

java.util.WeakHashMap.Entry<K,V>[] elementData

modCount

volatile int modCount
Constructor Detail

WeakHashMap

public WeakHashMap()
Constructs a new empty instance of WeakHashMap.


WeakHashMap

public WeakHashMap(int capacity)
Constructs a new instance of WeakHashMap with the specified capacity.

Parameters:
capacity - the initial capacity of this WeakHashMap
Throws:
IllegalArgumentException - when the capacity is less than zero

WeakHashMap

public WeakHashMap(int capacity,
                   float loadFactor)
Constructs a new instance of WeakHashMap with the specified capacity and load factor.

Parameters:
capacity - the initial capacity
loadFactor - the initial load factor
Throws:
IllegalArgumentException - when the capacity is less than zero or the load factor is less or equal to zero

WeakHashMap

public WeakHashMap(Map<? extends K,? extends V> map)
Constructs a new instance of HashMap containing the mappings from the specified Map.

Parameters:
map - the mappings to add
Method Detail

clear

public void clear()
Removes all mappings from this WeakHashMap, leaving it empty.

Specified by:
clear in interface Map<K,V>
Overrides:
clear in class AbstractMap<K,V>
See Also:
isEmpty(), size()

containsKey

public boolean containsKey(Object key)
Searches this WeakHashMap for the specified key.

Specified by:
containsKey in interface Map<K,V>
Overrides:
containsKey in class AbstractMap<K,V>
Parameters:
key - the object to search for
Returns:
true if key is a key of this WeakHashMap, false otherwise

entrySet

public Set<Map.Entry<K,V>> entrySet()
Returns a Set of the mappings contained in this WeakHashMap. Each element in the set is a Map.Entry. The set is backed by this WeakHashMap so changes to one are reflected by the other. The set does not support adding.

Specified by:
entrySet in interface Map<K,V>
Specified by:
entrySet in class AbstractMap<K,V>
Returns:
a Set of the mappings

keySet

public Set<K> keySet()
Returns a Set of the keys contained in this WeakHashMap. The set is backed by this WeakHashMap so changes to one are reflected by the other. The set does not support adding.

Specified by:
keySet in interface Map<K,V>
Overrides:
keySet in class AbstractMap<K,V>
Returns:
a Set of the keys

values

public Collection<V> values()
Returns a Collection of the values contained in this WeakHashMap. The collection is backed by this WeakHashMap so changes to one are reflected by the other. The collection does not support adding.

Specified by:
values in interface Map<K,V>
Overrides:
values in class AbstractMap<K,V>
Returns:
a Collection of the values

get

public V get(Object key)
Returns the value of the mapping with the specified key.

Specified by:
get in interface Map<K,V>
Overrides:
get in class AbstractMap<K,V>
Parameters:
key - the key
Returns:
the value of the mapping with the specified key

getEntry

java.util.WeakHashMap.Entry<K,V> getEntry(Object key)

containsValue

public boolean containsValue(Object value)
Searches this WeakHashMap for the specified value, and returns true, if at least one entry has this object as its value.

Specified by:
containsValue in interface Map<K,V>
Overrides:
containsValue in class AbstractMap<K,V>
Parameters:
value - the object to search for
Returns:
true if value is a value in this WeakHashMap, false otherwise

isEmpty

public boolean isEmpty()
Returns if this WeakHashMap has no elements, a size of zero.

Specified by:
isEmpty in interface Map<K,V>
Overrides:
isEmpty in class AbstractMap<K,V>
Returns:
true if this HashMap has no elements, false otherwise
See Also:
size()

poll

void poll()

removeEntry

void removeEntry(java.util.WeakHashMap.Entry<K,V> toRemove)

put

public V put(K key,
             V value)
Maps the specified key to the specified value.

Specified by:
put in interface Map<K,V>
Overrides:
put in class AbstractMap<K,V>
Parameters:
key - the key
value - the value
Returns:
the value of any previous mapping with the specified key or null if there was no mapping

putAll

public void putAll(Map<? extends K,? extends V> map)
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:
putAll in interface Map<K,V>
Overrides:
putAll in class AbstractMap<K,V>
Parameters:
map - the Map to copy mappings from
Throws:
NullPointerException - if the given map is null

remove

public V remove(Object key)
Removes a mapping with the specified key from this WeakHashMap.

Specified by:
remove in interface Map<K,V>
Overrides:
remove in class AbstractMap<K,V>
Parameters:
key - the key of the mapping to remove
Returns:
the value of the removed mapping or null if key is not a key in this WeakHashMap

size

public int size()
Returns the number of mappings in this WeakHashMap.

Specified by:
size in interface Map<K,V>
Overrides:
size in class AbstractMap<K,V>
Returns:
the number of mappings in this WeakHashMap

Build 1.0_r1(from source)

Please submit a feedback, bug or feature