モジュール java.base
パッケージ java.util.concurrent

クラスConcurrentSkipListMap<K,V>

java.lang.Object
java.util.AbstractMap<K,V>
java.util.concurrent.ConcurrentSkipListMap<K,V>
型パラメータ:
K - このマップで保持されるキーの型
V - マップされる値の型
すべての実装されたインタフェース:
Serializable, Cloneable, ConcurrentMap<K,V>, ConcurrentNavigableMap<K,V>, Map<K,V>, NavigableMap<K,V>, SequencedMap<K,V>, SortedMap<K,V>

public class ConcurrentSkipListMap<K,V> extends AbstractMap<K,V> implements ConcurrentNavigableMap<K,V>, Cloneable, Serializable
スケーラブルな並行ConcurrentNavigableMap実装です。 マップは、使用するコンストラクタに応じて、そのキーの自然順序付けに従って、またはマップ作成時に提供されるComparatorによってソートされます。

このクラスは、SkipListsの並行バリアントを実装して、containsKeygetput、およびremoveオペレーションとそれらのバリアントに予想される平均log(n)時間コストを提供します。 挿入、削除、更新、アクセスの各オペレーションは、複数のスレッドによって並行して、安全に実行されます。

イテレータおよびスプリッテレータは弱一貫性を持っています

昇順のキーで並べられたビューとそのイテレータは、降順の場合よりも高速になります。

このクラス内のメソッドによって返されるすべてのMap.Entryペアとそのビューは、マッピングの生成時のスナップショットを表します。 これらはEntry.setValueメソッドをサポートしていません ただし、必要とする効果に応じて、putputIfAbsent、またはreplaceを使用して、関連付けられたマップ内のマッピングを変更できることに注意してください。

一括操作putAll, equals, toArray, containsValueおよびclearが原子的に実行されることは保証されないことに注意してください。 たとえば、putAllオペレーションと並行して動作しているイテレータは、追加された要素の一部しか表示しないことがあります。

このクラスとそのビューおよびイテレータは、MapおよびIteratorインタフェースのオプション・メソッドすべてを実装します。 他のほとんどの並行処理コレクションと同様、このクラスはnullのキーまたは値の使用を許可しません。これは、一部のnullの戻り値は要素がない場合と確実に区別できないためです。

このクラスは、Java Collections Frameworkのメンバーです。

導入されたバージョン:
1.6
関連項目: