Package org.apache.mina.util
Class CopyOnWriteMap<K,V>
- java.lang.Object
-
- org.apache.mina.util.CopyOnWriteMap<K,V>
-
- Type Parameters:
K
- The key typeV
- The value type
- All Implemented Interfaces:
java.lang.Cloneable
,java.util.Map<K,V>
public class CopyOnWriteMap<K,V> extends java.lang.Object implements java.util.Map<K,V>, java.lang.Cloneable
A thread-safe version ofMap
in which all operations that change the Map are implemented by making a new copy of the underlying Map. While the creation of a new Map can be expensive, this class is designed for cases in which the primary function is to read data from the Map, not to modify the Map. Therefore the operations that do not cause a change to this class happen quickly and concurrently.- Author:
- Apache MINA Project
-
-
Constructor Summary
Constructors Constructor Description CopyOnWriteMap()
Creates a new instance of CopyOnWriteMap.CopyOnWriteMap(int initialCapacity)
Creates a new instance of CopyOnWriteMap with the specified initial sizeCopyOnWriteMap(java.util.Map<K,V> data)
Creates a new instance of CopyOnWriteMap in which the initial data being held by this map is contained in the supplied map.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clear()
Removes all entries in this map.java.lang.Object
clone()
boolean
containsKey(java.lang.Object key)
boolean
containsValue(java.lang.Object value)
java.util.Set<java.util.Map.Entry<K,V>>
entrySet()
This method will return a read-onlySet
.V
get(java.lang.Object key)
boolean
isEmpty()
java.util.Set<K>
keySet()
This method will return a read-onlySet
.V
put(K key, V value)
Adds the provided key and value to this map.void
putAll(java.util.Map<? extends K,? extends V> newData)
Inserts all the keys and values contained in the provided map to this map.V
remove(java.lang.Object key)
Removed the value and key from this map based on the provided key.int
size()
java.util.Collection<V>
values()
This method will return a read-onlyCollection
.
-
-
-
Method Detail
-
remove
public V remove(java.lang.Object key)
Removed the value and key from this map based on the provided key.
-
putAll
public void putAll(java.util.Map<? extends K,? extends V> newData)
Inserts all the keys and values contained in the provided map to this map.
-
clear
public void clear()
Removes all entries in this map.
-
size
public int size()
-
isEmpty
public boolean isEmpty()
-
containsKey
public boolean containsKey(java.lang.Object key)
-
containsValue
public boolean containsValue(java.lang.Object value)
-
get
public V get(java.lang.Object key)
-
keySet
public java.util.Set<K> keySet()
This method will return a read-onlySet
.
-
values
public java.util.Collection<V> values()
This method will return a read-onlyCollection
.
-
entrySet
public java.util.Set<java.util.Map.Entry<K,V>> entrySet()
This method will return a read-onlySet
.
-
clone
public java.lang.Object clone()
- Overrides:
clone
in classjava.lang.Object
-
-