| java.lang.Object java.util.AbstractMap org.apache.openjpa.lib.util.concurrent.ConcurrentHashMap
ConcurrentHashMap | public class ConcurrentHashMap extends AbstractMap implements ConcurrentMap,SizedMap,Cloneable,Serializable(Code) | | This class implements a HashMap which has limited synchronization.
In particular mutators are generally synchronized while accessors
are generally not. Additionally the Iterators returned by this
class are not "fail-fast", but instead try to continue to iterate
over the data structure after changes have been made.
The synchronization semantics are built right in to the
implementation rather than using a delegating wrapper like the
other collection classes do because it wasn't clear to me that the
how the two should be seperated or that it would be useful to do
so. This can probably be a topic for further debate in the future.
This class is based heavily on the HashMap class in the Java
collections package.
|
Inner Class :protected static class Entry implements Map.Entry | |
Field Summary | |
final static double[] | RANDOMS Cache of random numbers used in "random" methods, since generating them
is expensive. |
Constructor Summary | |
public | ConcurrentHashMap(int initialCapacity, float loadFactor) Constructs an empty ConcurrentHashMap with the specified initial
capacity and load factor. | public | ConcurrentHashMap(int initialCapacity) Constructs an empty ConcurrentHashMap with the specified initial
capacity and the default load factor(0.75). | public | ConcurrentHashMap() Constructs an empty ConcurrentHashMap with the default initial
capacity(16) and the default load factor(0.75). | public | ConcurrentHashMap(Map m) Constructs a new ConcurrentHashMap with the same mappings as the
specified Map. |
Method Summary | |
final public int | capacity() Returns the current capacity of backing table in this map. | public synchronized void | clear() Removes all mappings from this map. | final public Object | clone() Returns a shallow copy of this ConcurrentHashMap instance: the
keys and values themselves are not cloned. | final public boolean | containsKey(Object key) Returns true if this map contains a mapping for the
specified key. | final public boolean | containsValue(Object value) Returns true if this map maps one or more keys to the
specified value.
Parameters: value - value whose presence in this map is to be tested. | protected Entry | createEntry(int h, Object k, Object v, Entry n) | final public Set | entrySet() Returns a collection view of the mappings contained in this map. | public Object | get(Object key) Returns the value to which the specified key is mapped in this identity
hash map, or null if the map contains no mapping for this key.
A return value of null does not necessarily indicate
that the map contains no mapping for the key; it is also possible that
the map explicitly maps the key to null. | protected Entry | getEntry(Object key) Returns the entry associated with the specified key in the
ConcurrentHashMap. | public int | getMaxSize() | final public boolean | isEmpty() Returns true if this map contains no key-value mappings. | public boolean | isFull() | final public Set | keySet() Returns a set view of the keys contained in this map. | final public float | loadFactor() Returns the load factor for this map. | public void | overflowRemoved(Object key, Object value) | public Object | put(Object key, Object value) Associates the specified value with the specified key in this map.
If the map previously contained a mapping for this key, the old
value is replaced.
Parameters: key - key with which the specified value is to be associated. Parameters: value - value to be associated with the specified key. | final public synchronized void | putAll(Map t) Copies all of the mappings from the specified map to this map
These mappings will replace any mappings that
this map had for any of the keys currently in the specified map. | public Object | putIfAbsent(Object key, Object value) | public Iterator | randomEntryIterator() | public Object | remove(Object key) Removes the mapping for this key from this map if present.
Parameters: key - key whose mapping is to be removed from the map. | public Map.Entry | removeRandom() | public void | setMaxSize(int maxSize) | final public int | size() Returns the number of key-value mappings in this map. | final public Collection | values() Returns a collection view of the values contained in this map. |
RANDOMS | final static double[] RANDOMS(Code) | | Cache of random numbers used in "random" methods, since generating them
is expensive. We hope each map changes enough between cycling through
this list that the overall effect is random enough.
|
ConcurrentHashMap | public ConcurrentHashMap(int initialCapacity, float loadFactor)(Code) | | Constructs an empty ConcurrentHashMap with the specified initial
capacity and load factor.
Parameters: initialCapacity - The initial capacity. Parameters: loadFactor - The load factor. throws: IllegalArgumentException - if the initial capacity is negativeor the load factor is nonpositive. |
ConcurrentHashMap | public ConcurrentHashMap(int initialCapacity)(Code) | | Constructs an empty ConcurrentHashMap with the specified initial
capacity and the default load factor(0.75).
Parameters: initialCapacity - the initial capacity. throws: IllegalArgumentException - if the initial capacity is negative. |
ConcurrentHashMap | public ConcurrentHashMap()(Code) | | Constructs an empty ConcurrentHashMap with the default initial
capacity(16) and the default load factor(0.75).
|
ConcurrentHashMap | public ConcurrentHashMap(Map m)(Code) | | Constructs a new ConcurrentHashMap with the same mappings as the
specified Map. The ConcurrentHashMap is created with
default load factor(0.75) and an initial capacity sufficient to
hold the mappings in the specified Map.
Parameters: m - the map whose mappings are to be placed in this map. throws: NullPointerException - if the specified map is null. |
capacity | final public int capacity()(Code) | | Returns the current capacity of backing table in this map.
the current capacity of backing table in this map. |
clear | public synchronized void clear()(Code) | | Removes all mappings from this map.
|
clone | final public Object clone()(Code) | | Returns a shallow copy of this ConcurrentHashMap instance: the
keys and values themselves are not cloned.
a shallow copy of this map. |
containsKey | final public boolean containsKey(Object key)(Code) | | Returns true if this map contains a mapping for the
specified key.
Parameters: key - The key whose presence in this map is to be tested true if this map contains a mapping for the specifiedkey. |
containsValue | final public boolean containsValue(Object value)(Code) | | Returns true if this map maps one or more keys to the
specified value.
Parameters: value - value whose presence in this map is to be tested. true if this map maps one or more keys to thespecified value. |
entrySet | final public Set entrySet()(Code) | | Returns a collection view of the mappings contained in this map. Each
element in the returned collection is a Map.Entry. The
collection is backed by the map, so changes to the map are reflected in
the collection, and vice-versa. The collection supports element
removal, which removes the corresponding mapping from the map, via the
Iterator.remove, Collection.remove,
removeAll, retainAll, and clear operations.
It does not support the add or addAll operations.
a collection view of the mappings contained in this map. See Also: Map.Entry |
get | public Object get(Object key)(Code) | | Returns the value to which the specified key is mapped in this identity
hash map, or null if the map contains no mapping for this key.
A return value of null does not necessarily indicate
that the map contains no mapping for the key; it is also possible that
the map explicitly maps the key to null. The
containsKey method may be used to distinguish these two cases.
Parameters: key - the key whose associated value is to be returned. the value to which this map maps the specified key, ornull if the map contains no mapping for this key. See Also: ConcurrentHashMap.put(Object,Object) |
getEntry | protected Entry getEntry(Object key)(Code) | | Returns the entry associated with the specified key in the
ConcurrentHashMap. Returns null if the ConcurrentHashMap contains no
mapping for this key.
|
getMaxSize | public int getMaxSize()(Code) | | |
isEmpty | final public boolean isEmpty()(Code) | | Returns true if this map contains no key-value mappings.
true if this map contains no key-value mappings. |
isFull | public boolean isFull()(Code) | | |
keySet | final public Set keySet()(Code) | | Returns a set view of the keys contained in this map. The set is
backed by the map, so changes to the map are reflected in the set, and
vice-versa. The set supports element removal, which removes the
corresponding mapping from this map, via the Iterator.remove,
Set.remove, removeAll, retainAll, and
clear operations. It does not support the add or
addAll operations.
a set view of the keys contained in this map. |
loadFactor | final public float loadFactor()(Code) | | Returns the load factor for this map.
the load factor for this map. |
put | public Object put(Object key, Object value)(Code) | | Associates the specified value with the specified key in this map.
If the map previously contained a mapping for this key, the old
value is replaced.
Parameters: key - key with which the specified value is to be associated. Parameters: value - value to be associated with the specified key. previous value associated with specified key, or nullif there was no mapping for key. A null return canalso indicate that the ConcurrentHashMap previously associatednull with the specified key. |
putAll | final public synchronized void putAll(Map t)(Code) | | Copies all of the mappings from the specified map to this map
These mappings will replace any mappings that
this map had for any of the keys currently in the specified map.
Parameters: t - mappings to be stored in this map. throws: NullPointerException - if the specified map is null. |
remove | public Object remove(Object key)(Code) | | Removes the mapping for this key from this map if present.
Parameters: key - key whose mapping is to be removed from the map. previous value associated with specified key, or nullif there was no mapping for key. A null return canalso indicate that the map previously associated nullwith the specified key. |
setMaxSize | public void setMaxSize(int maxSize)(Code) | | |
size | final public int size()(Code) | | Returns the number of key-value mappings in this map.
the number of key-value mappings in this map. |
values | final public Collection values()(Code) | | Returns a collection view of the values contained in this map. The
collection is backed by the map, so changes to the map are reflected in
the collection, and vice-versa. The collection supports element
removal, which removes the corresponding mapping from this map, via the
Iterator.remove, Collection.remove,
removeAll, retainAll, and clear operations.
It does not support the add or addAll operations.
a collection view of the values contained in this map. |
|
|