シャンティBhardwaz:
私はとの根本的な違いを知っているremove()
ような伝統的な収集方法hashMap
などの同時収集をconcurrentHashMap
。concurrentHashmap
JVMはマルチスレッド環境のために必要とされるキー値のオブジェクトを削除する前に、両方のキーと値と一致します。それらの間の他の違いはありますか?
トムホーティン - tackline:
私はそこに二、なぜあなたが求めていると思うremove
の同時マップ内のメソッド。
Map
あります。
V remove(Object key)
ConcurrentMap
持っている追加の方法を:
boolean remove(Object key, Object value)
(実際には、Map
1.8以降のデフォルトの方法としてこれを持っています。)
非同時にMap
、二引数形態が容易合成によって書かができget
、続いてremove
2つのルックアップの費用で、。同時操作は、しかし、構成されていません。同時マップの場合、あなたは見ることができるremove
のと同じようにループ内で使用compareAndSet
一般的に使用されています。
あなたが最初に使用した場合は、通常のコレクションインタフェースを介して、単一の操作で削除操作を実行する可能性がentrySet
。それだけで非常に便利かは明らかではありません。