|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
K - 此映射維護的鍵型別V - 映射值的型別public interface ConcurrentMap<K,V>
提供其他原子 putIfAbsent、remove、replace 方法的 Map。
記憶體一致性效果:當存在其他共時 collection 時,將物件放入 ConcurrentMap 之前的執行緒中的操作 happen-before 隨後通過另一執行緒從 ConcurrentMap 中存取或移除該元素的操作。
此介面是 Java Collections Framework 的成員。
| 巢狀類別摘要 |
|---|
| 從介面 java.util.Map 繼承的巢狀類別/介面 |
|---|
Map.Entry<K,V> |
| 方法摘要 | |
|---|---|
V |
putIfAbsent(K key,
V value)
如果指定鍵已經不再與某個值相關聯,則將它與給定值關聯。 |
boolean |
remove(Object key,
Object value)
只有目前將鍵的條目映射到給定值時,才移除該鍵的條目。 |
V |
replace(K key,
V value)
只有目前將鍵的條目映射到某一值時,才替換該鍵的條目。 |
boolean |
replace(K key,
V oldValue,
V newValue)
只有目前將鍵的條目映射到給定值時,才替換該鍵的條目。 |
| 從介面 java.util.Map 繼承的方法 |
|---|
clear, containsKey, containsValue, entrySet, equals, get, hashCode, isEmpty, keySet, put, putAll, remove, size, values |
| 方法詳細資訊 |
|---|
V putIfAbsent(K key,
V value)
if (!map.containsKey(key))
return map.put(key, value);
else
return map.get(key);
除了原子地執行此操作之外。
key - 與指定值相關聯的鍵value - 與指定鍵相關聯的值
UnsupportedOperationException - 如果此映射不支持 put 操作
ClassCastException - 如果指定鍵或值的類別不允許將其存儲在此映射中
NullPointerException - 如果指定鍵或值為 null,並且此映射不允許 null 鍵或值
IllegalArgumentException - 如果指定鍵或值的某些屬性不允許將其存儲在此映射中
boolean remove(Object key,
Object value)
if (map.containsKey(key) && map.get(key).equals(value)) {
map.remove(key);
return true;
} else return false;
不同之處在於該操作是以原子方式 (atomically) 執行的。
key - 與指定值相關聯的鍵value - 期望與指定鍵相關聯的值
UnsupportedOperationException - 如果此映射不支持 remove 操作
ClassCastException - 如果該鍵或值是此映射的合適型別(可選)
NullPointerException - 如果指定鍵或值為 null,並且此映射不允許 null 鍵或值(可選)
boolean replace(K key,
V oldValue,
V newValue)
if (map.containsKey(key) && map.get(key).equals(oldValue)) {
map.put(key, newValue);
return true;
} else return false;
不同之處在於該操作是以原子方式執行的。
key - 與指定值相關聯的鍵oldValue - 期望與指定鍵相關聯的值newValue - 與指定鍵相關聯的值
UnsupportedOperationException - 如果此映射不支持 put 操作
ClassCastException - 如果指定鍵或值的類別不允許將其存儲在此映射中
NullPointerException - 如果指定鍵或值為 null,並且此映射不允許 null 鍵或值
IllegalArgumentException - 如果指定鍵或值的某些屬性不允許將其存儲在此映射中
V replace(K key,
V value)
if (map.containsKey(key)) {
return map.put(key, value);
} else return null;
不同之處在於該操作是以原子方式執行的。
key - 與指定值相關聯的鍵value - 與指定鍵相關聯的值
UnsupportedOperationException - 如果此映射不支持 put 操作
ClassCastException - 如果指定鍵或值的類別不允許將其存儲在此映射中
NullPointerException - 如果指定鍵或值為 null,並且此映射不允許 null 鍵或值
IllegalArgumentException - 如果指定鍵或值的某些屬性不允許將其存儲在此映射中
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。