Package javassist.scopedpool
Class SoftValueHashMap
- java.lang.Object
-
- java.util.AbstractMap
-
- javassist.scopedpool.SoftValueHashMap
-
- All Implemented Interfaces:
java.util.Map
public class SoftValueHashMap extends java.util.AbstractMap implements java.util.Map
This Map will remove entries when the value in the map has been cleaned from garbage collection- Version:
- $Revision: 1.4 $
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
SoftValueHashMap.SoftValueRef
-
Constructor Summary
Constructors Constructor Description SoftValueHashMap()
Constructs a new, emptyWeakHashMap
with the default initial capacity and the default load factor, which is0.75
.SoftValueHashMap(int initialCapacity)
Constructs a new, emptyWeakHashMap
with the given initial capacity and the default load factor, which is0.75
.SoftValueHashMap(int initialCapacity, float loadFactor)
Constructs a new, emptyWeakHashMap
with the given initial capacity and the given load factor.SoftValueHashMap(java.util.Map t)
Constructs a newWeakHashMap
with the same mappings as the specified Map.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clear()
Removes all mappings from this map.boolean
containsKey(java.lang.Object key)
Returnstrue
if this map contains a mapping for the specified key.java.util.Set
entrySet()
Returns a set of the mappings contained in this hash table.java.lang.Object
get(java.lang.Object key)
Returns the value to which this map maps the specifiedkey
.boolean
isEmpty()
Returnstrue
if this map contains no key-value mappings.private void
processQueue()
java.lang.Object
put(java.lang.Object key, java.lang.Object value)
Updates this map so that the givenkey
maps to the givenvalue
.java.lang.Object
remove(java.lang.Object key)
Removes the mapping for the givenkey
from this map, if present.int
size()
Returns the number of key-value mappings in this map.-
Methods inherited from class java.util.AbstractMap
clone, containsValue, equals, hashCode, keySet, putAll, toString, values
-
-
-
-
Constructor Detail
-
SoftValueHashMap
public SoftValueHashMap(int initialCapacity, float loadFactor)
Constructs a new, emptyWeakHashMap
with the given initial capacity and the given load factor.- Parameters:
initialCapacity
- The initial capacity of theWeakHashMap
loadFactor
- The load factor of theWeakHashMap
- Throws:
java.lang.IllegalArgumentException
- If the initial capacity is less than zero, or if the load factor is nonpositive
-
SoftValueHashMap
public SoftValueHashMap(int initialCapacity)
Constructs a new, emptyWeakHashMap
with the given initial capacity and the default load factor, which is0.75
.- Parameters:
initialCapacity
- The initial capacity of theWeakHashMap
- Throws:
java.lang.IllegalArgumentException
- If the initial capacity is less than zero
-
SoftValueHashMap
public SoftValueHashMap()
Constructs a new, emptyWeakHashMap
with the default initial capacity and the default load factor, which is0.75
.
-
SoftValueHashMap
public SoftValueHashMap(java.util.Map t)
Constructs a newWeakHashMap
with the same mappings as the specified Map. TheWeakHashMap
is created with an initial capacity of twice the number of mappings in the specified map or 11 (whichever is greater), and a default load factor, which is 0.75.- Parameters:
t
- the map whose mappings are to be placed in this map.
-
-
Method Detail
-
entrySet
public java.util.Set entrySet()
Returns a set of the mappings contained in this hash table.- Specified by:
entrySet
in interfacejava.util.Map
- Specified by:
entrySet
in classjava.util.AbstractMap
-
processQueue
private void processQueue()
-
size
public int size()
Returns the number of key-value mappings in this map. Note: In contrast with most implementations of theMap
interface, the time required by this operation is linear in the size of the map.- Specified by:
size
in interfacejava.util.Map
- Overrides:
size
in classjava.util.AbstractMap
-
isEmpty
public boolean isEmpty()
Returnstrue
if this map contains no key-value mappings.- Specified by:
isEmpty
in interfacejava.util.Map
- Overrides:
isEmpty
in classjava.util.AbstractMap
-
containsKey
public boolean containsKey(java.lang.Object key)
Returnstrue
if this map contains a mapping for the specified key.- Specified by:
containsKey
in interfacejava.util.Map
- Overrides:
containsKey
in classjava.util.AbstractMap
- Parameters:
key
- The key whose presence in this map is to be tested.
-
get
public java.lang.Object get(java.lang.Object key)
Returns the value to which this map maps the specifiedkey
. If this map does not contain a value for this key, then returnnull
.- Specified by:
get
in interfacejava.util.Map
- Overrides:
get
in classjava.util.AbstractMap
- Parameters:
key
- The key whose associated value, if any, is to be returned.
-
put
public java.lang.Object put(java.lang.Object key, java.lang.Object value)
Updates this map so that the givenkey
maps to the givenvalue
. If the map previously contained a mapping forkey
then that mapping is replaced and the previous value is returned.- Specified by:
put
in interfacejava.util.Map
- Overrides:
put
in classjava.util.AbstractMap
- Parameters:
key
- The key that is to be mapped to the givenvalue
value
- The value to which the givenkey
is to be mapped- Returns:
- The previous value to which this key was mapped, or
null
if if there was no mapping for the key
-
remove
public java.lang.Object remove(java.lang.Object key)
Removes the mapping for the givenkey
from this map, if present.- Specified by:
remove
in interfacejava.util.Map
- Overrides:
remove
in classjava.util.AbstractMap
- Parameters:
key
- The key whose mapping is to be removed.- Returns:
- The value to which this key was mapped, or
null
if there was no mapping for the key.
-
clear
public void clear()
Removes all mappings from this map.- Specified by:
clear
in interfacejava.util.Map
- Overrides:
clear
in classjava.util.AbstractMap
-
-