|
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。