ConcurrentHashMap支持以下原子操作:
- putIfAbsent(K key, V value):如果指定的鍵還未映射到任何值,則將指定的值與指定的鍵關聯。
- replace(K key, V oldValue, V newValue):如果指定的鍵目前映射到指定的值,則替換該鍵對應的值。
- remove(Object key, Object value):如果指定的鍵目前映射到指定的值,則刪除該鍵對應的映射。
- compute(K key, BiFunction<? super K,? super V,? extends V> remappingFunction):計算指定鍵的映射值,并將新的映射值與該鍵關聯。
- merge(K key, V value, BiFunction<? super V,? super V,? extends V> remappingFunction):將指定鍵的值與給定值按照指定的合并函數進行組合。
這些方法可以確保并發環境下的線程安全性,避免出現數據不一致或其他并發問題。