void clear()
從該對映中移除所有對映關係
boolean containskey(object key)
測試指定物件是否為此表中的鍵。
boolean containsvalue(object value)
如果此對映將乙個或多個鍵對映到指定值,則返回 true。
enumeration elements()
返回此表中值的列舉。
set> entryset()
返回此對映所包含的對映關係的 set 檢視。
v get(object key)
返回指定鍵所對映到的值,如果此對映不包含該鍵的對映關係,則返回 null。
boolean isempty()
如果此對映不包含鍵-值對映關係,則返回 true。
enumeration keys()
返回此表中鍵的列舉。
set keyset()
返回此對映中包含的鍵的 set 檢視。
v put(k key, v value)
將指定鍵對映到此表中的指定值。
void putall(map<? extends k,? extends v> m)
將指定對映中所有對映關係複製到此對映中。
v putifabsent(k key, v value)
如果指定鍵已經不再與某個值相關聯,則將它與給定值關聯。
vremove(object key)
從此對映中移除鍵(及其相應的值)。
boolean remove(object key, object value)
只有目前將鍵的條目對映到給定值時,才移除該鍵的條目。
v replace(k key, v value)
只有目前將鍵的條目對映到某一值時,才替換該鍵的條目。
boolean replace(k key, v oldvalue, v newvalue)
只有目前將鍵的條目對映到給定值時,才替換該鍵的條目。
int size()
返回此對映中的鍵-值對映關係數。
collection values()
返回此對映中包含的值的 collection 檢視。
ConcurrentHashMap 併發雜湊對映
如執行緒1使用put進行新增元素,執行緒2不但不能使用put方法新增元素,並且也不能使用get方法來獲取元素,所以競爭越激烈效率越低。圖1 1 hashtable中在put 方法上加鎖 hashtable容器在競爭激烈的併發環境下表現出效率低下的原因,是因為所有訪問hashtable的執行緒都必須競...
ConcurrentHashMap 原理簡要分析
在之前寫過hashtable 與hashmap 兩者之間的異同 通過前面文章,可以知道hashmap 中未進行同步考慮,而 hashtable 則使用了 synchronized 帶來的直接影響就是可選擇,我們可以在單執行緒時使用 hashmap 提高效率,而多執行緒時用 hashtable 來保證...
ConcurrentHashMap使用示例
concurrenthashmap是併發效率更高的map,用來替換其他執行緒安全的map容器,比如hashtable和collections.synchronizedmap。實際上,併發執行時,執行緒安全的容器只能保證自身的資料不被破壞,但無法保證業務的行為是否正確。錯誤的理解這裡的執行緒安全,不恰...