K - The key typeV - The value typeM - the internal Map or extension for things like sorted and navigable maps.@ThreadSafe abstract class AbstractCopyOnWriteMap<K,V,M extends java.util.Map<K,V>> extends java.lang.Object implements java.util.concurrent.ConcurrentMap<K,V>
Map implementations that delegate to an internal map.| Modifier and Type | Class and Description |
|---|---|
protected static class |
AbstractCopyOnWriteMap.CollectionView<E> |
private class |
AbstractCopyOnWriteMap.EntrySet |
(package private) class |
AbstractCopyOnWriteMap.Immutable |
private class |
AbstractCopyOnWriteMap.KeySet |
(package private) class |
AbstractCopyOnWriteMap.Mutable |
private static class |
AbstractCopyOnWriteMap.UnmodifiableIterator<T> |
private class |
AbstractCopyOnWriteMap.Values |
static class |
AbstractCopyOnWriteMap.View<K,V>
Provides access to the views of the underlying key, value and entry collections.
|
| Modifier and Type | Field and Description |
|---|---|
private M |
delegate |
private java.util.concurrent.locks.Lock |
lock |
private AbstractCopyOnWriteMap.View<K,V> |
view |
| Modifier | Constructor and Description |
|---|---|
protected |
AbstractCopyOnWriteMap(N map,
AbstractCopyOnWriteMap.View.Type viewType)
Create a new
CopyOnWriteMap with the supplied Map to initialize the values. |
| Modifier and Type | Method and Description |
|---|---|
void |
clear() |
boolean |
containsKey(java.lang.Object key) |
boolean |
containsValue(java.lang.Object value) |
protected M |
copy() |
(package private) abstract <N extends java.util.Map<? extends K,? extends V>> |
copy(N map)
Copy function, implemented by sub-classes.
|
java.util.Set<java.util.Map.Entry<K,V>> |
entrySet() |
boolean |
equals(java.lang.Object o) |
private boolean |
equals(java.lang.Object o1,
java.lang.Object o2) |
V |
get(java.lang.Object key) |
protected M |
getDelegate() |
int |
hashCode() |
boolean |
isEmpty() |
java.util.Set<K> |
keySet() |
V |
put(K key,
V value) |
void |
putAll(java.util.Map<? extends K,? extends V> t) |
V |
putIfAbsent(K key,
V value) |
V |
remove(java.lang.Object key) |
boolean |
remove(java.lang.Object key,
java.lang.Object value) |
V |
replace(K key,
V value) |
boolean |
replace(K key,
V oldValue,
V newValue) |
protected void |
set(M map) |
int |
size() |
java.lang.String |
toString() |
java.util.Collection<V> |
values() |
private final transient java.util.concurrent.locks.Lock lock
private final AbstractCopyOnWriteMap.View<K,V> view
protected AbstractCopyOnWriteMap(N map,
AbstractCopyOnWriteMap.View.Type viewType)
CopyOnWriteMap with the supplied Map to initialize the values.map - the initial map to initialize withviewType - for writable or read-only key, value and entrySet viewsabstract <N extends java.util.Map<? extends K,? extends V>> M copy(N map)
N - the map to copy and return.map - the initial values of the newly created map.public final V remove(java.lang.Object key)
public boolean remove(java.lang.Object key,
java.lang.Object value)
protected M copy()
protected void set(M map)
public final java.util.Collection<V> values()
public final boolean containsKey(java.lang.Object key)
public final boolean containsValue(java.lang.Object value)
public final boolean equals(java.lang.Object o)
public final int hashCode()
protected final M getDelegate()
public java.lang.String toString()
toString in class java.lang.Objectprivate boolean equals(java.lang.Object o1,
java.lang.Object o2)