org.cojen.util
Class SoftValuedHashMap
java.lang.Object
java.util.AbstractMap
org.cojen.util.SoftValuedHashMap
- All Implemented Interfaces:
- Cloneable, Map
public class SoftValuedHashMap
- extends AbstractMap
- implements Map, Cloneable
A Map that softly references its values and can be used as a simple cache.
SoftValuedHashMap is not thread-safe and must be wrapped with
Collections.synchronizedMap to be made thread-safe.
Note: Softly referenced entries may be automatically removed during
either accessor or mutator operations, possibly causing a concurrent
modification to be detected. Therefore, even if multiple threads are only
accessing this map, be sure to synchronize this map first. Also, do not
rely on the value returned by size() when using an iterator from this map.
The iterators may return less entries than the amount reported by size().
- Author:
- Brian S O'Neill
Constructor Summary |
SoftValuedHashMap()
Constructs a new, empty map with a default capacity and load
factor, which is 0.75. |
SoftValuedHashMap(int initialCapacity)
Constructs a new, empty map with the specified initial capacity
and default load factor, which is 0.75. |
SoftValuedHashMap(int initialCapacity,
float loadFactor)
Constructs a new, empty map with the specified initial
capacity and the specified load factor. |
SoftValuedHashMap(Map t)
Constructs a new map with the same mappings as the given map. |
SoftValuedHashMap
public SoftValuedHashMap(int initialCapacity,
float loadFactor)
- Constructs a new, empty map with the specified initial
capacity and the specified load factor.
- Parameters:
initialCapacity
- the initial capacity of the HashMap.loadFactor
- the load factor of the HashMap
- Throws:
IllegalArgumentException
- if the initial capacity is less
than zero, or if the load factor is nonpositive.
SoftValuedHashMap
public SoftValuedHashMap(int initialCapacity)
- Constructs a new, empty map with the specified initial capacity
and default load factor, which is 0.75.
- Parameters:
initialCapacity
- the initial capacity of the HashMap.
- Throws:
IllegalArgumentException
- if the initial capacity is less
than zero.
SoftValuedHashMap
public SoftValuedHashMap()
- Constructs a new, empty map with a default capacity and load
factor, which is 0.75.
SoftValuedHashMap
public SoftValuedHashMap(Map t)
- Constructs a new map with the same mappings as the given map. The
map is created with a capacity of twice the number of mappings in
the given map or 11 (whichever is greater), and a default load factor,
which is 0.75.
size
public int size()
- Specified by:
size
in interface Map
- Overrides:
size
in class AbstractMap
isEmpty
public boolean isEmpty()
- Specified by:
isEmpty
in interface Map
- Overrides:
isEmpty
in class AbstractMap
containsValue
public boolean containsValue(Object value)
- Specified by:
containsValue
in interface Map
- Overrides:
containsValue
in class AbstractMap
containsKey
public boolean containsKey(Object key)
- Specified by:
containsKey
in interface Map
- Overrides:
containsKey
in class AbstractMap
get
public Object get(Object key)
- Specified by:
get
in interface Map
- Overrides:
get
in class AbstractMap
put
public Object put(Object key,
Object value)
- Specified by:
put
in interface Map
- Overrides:
put
in class AbstractMap
remove
public Object remove(Object key)
- Specified by:
remove
in interface Map
- Overrides:
remove
in class AbstractMap
putAll
public void putAll(Map t)
- Specified by:
putAll
in interface Map
- Overrides:
putAll
in class AbstractMap
clear
public void clear()
- Specified by:
clear
in interface Map
- Overrides:
clear
in class AbstractMap
clone
public Object clone()
- Overrides:
clone
in class AbstractMap
keySet
public Set keySet()
- Specified by:
keySet
in interface Map
- Overrides:
keySet
in class AbstractMap
values
public Collection values()
- Specified by:
values
in interface Map
- Overrides:
values
in class AbstractMap
entrySet
public Set entrySet()
- Specified by:
entrySet
in interface Map
- Specified by:
entrySet
in class AbstractMap
toString
public String toString()
- Overrides:
toString
in class AbstractMap
Copyright © 2004-2011 Brian S O'Neill. All Rights Reserved.