public class NullSafeConcurrentHashMap
extends java.util.concurrent.ConcurrentHashMap
ConcurrentHashMap
that allows null keys and values.
In exchange, it weakens the contract of putIfAbsent(java.lang.Object, java.lang.Object)
and the other
concurrent methods added in #ConcurrentHashMap
.Modifier and Type | Class and Description |
---|---|
static interface |
NullSafeConcurrentHashMap.KeyFilter |
Constructor and Description |
---|
NullSafeConcurrentHashMap() |
NullSafeConcurrentHashMap(int size,
float load,
int concurrencyLevel) |
Modifier and Type | Method and Description |
---|---|
boolean |
contains(java.lang.Object value) |
boolean |
containsKey(java.lang.Object key) |
boolean |
containsValue(java.lang.Object value) |
java.util.Enumeration |
elements() |
java.util.Set |
entrySet() |
java.lang.Object |
get(java.lang.Object key) |
java.util.Enumeration |
keys() |
java.util.Set |
keySet() |
java.lang.Object |
put(java.lang.Object key,
java.lang.Object value) |
java.lang.Object |
putIfAbsent(java.lang.Object key,
java.lang.Object value) |
java.util.Iterator<java.util.Map.Entry> |
randomEntryIterator()
The returned data structure should not be shared among multiple
threads.
|
java.lang.Object |
remove(java.lang.Object key) |
boolean |
remove(java.lang.Object key,
java.lang.Object value) |
java.util.Map.Entry |
removeRandom() |
java.lang.Object |
replace(java.lang.Object key,
java.lang.Object value) |
boolean |
replace(java.lang.Object key,
java.lang.Object oldValue,
java.lang.Object newValue) |
java.util.Collection |
values() |
public NullSafeConcurrentHashMap(int size, float load, int concurrencyLevel)
public NullSafeConcurrentHashMap()
public java.util.Map.Entry removeRandom()
public java.util.Iterator<java.util.Map.Entry> randomEntryIterator()
public java.lang.Object remove(java.lang.Object key)
remove
in interface java.util.Map
remove
in class java.util.concurrent.ConcurrentHashMap
public boolean remove(java.lang.Object key, java.lang.Object value)
remove
in interface java.util.concurrent.ConcurrentMap
remove
in class java.util.concurrent.ConcurrentHashMap
public boolean replace(java.lang.Object key, java.lang.Object oldValue, java.lang.Object newValue)
replace
in interface java.util.concurrent.ConcurrentMap
replace
in class java.util.concurrent.ConcurrentHashMap
public java.lang.Object replace(java.lang.Object key, java.lang.Object value)
replace
in interface java.util.concurrent.ConcurrentMap
replace
in class java.util.concurrent.ConcurrentHashMap
public java.lang.Object putIfAbsent(java.lang.Object key, java.lang.Object value)
putIfAbsent
in interface java.util.concurrent.ConcurrentMap
putIfAbsent
in class java.util.concurrent.ConcurrentHashMap
public java.lang.Object put(java.lang.Object key, java.lang.Object value)
put
in interface java.util.Map
put
in class java.util.concurrent.ConcurrentHashMap
public java.lang.Object get(java.lang.Object key)
get
in interface java.util.Map
get
in class java.util.concurrent.ConcurrentHashMap
public boolean containsKey(java.lang.Object key)
containsKey
in interface java.util.Map
containsKey
in class java.util.concurrent.ConcurrentHashMap
public boolean containsValue(java.lang.Object value)
containsValue
in interface java.util.Map
containsValue
in class java.util.concurrent.ConcurrentHashMap
public boolean contains(java.lang.Object value)
contains
in class java.util.concurrent.ConcurrentHashMap
public java.util.Enumeration elements()
elements
in class java.util.concurrent.ConcurrentHashMap
public java.util.Set entrySet()
entrySet
in interface java.util.Map
entrySet
in class java.util.concurrent.ConcurrentHashMap
public java.util.Enumeration keys()
keys
in class java.util.concurrent.ConcurrentHashMap
public java.util.Set keySet()
keySet
in interface java.util.Map
keySet
in class java.util.concurrent.ConcurrentHashMap
public java.util.Collection values()
values
in interface java.util.Map
values
in class java.util.concurrent.ConcurrentHashMap