- 型パラメータ:
K
- このマップで保持されるキーの型V
- マップされる値の型
- すべての実装されたインタフェース:
Serializable
,ConcurrentMap<K,
,V> Map<K,
V>
Hashtable
と同じ機能仕様に従い、Hashtable
の各メソッドに対応するバージョンのメソッドを含みます。 ただし、すべての操作がスレッド・セーフである場合でも、取得操作にロックは含まれないため、テーブル全体がロックされてすべてのアクセスが拒否されることはありません。 このクラスは、そのスレッドの安全性に依存するが、その同期の詳細には依存しないプログラムでHashtable
と完全に相互運用できます。
通常、取得操作(get
を含む)ではブロックは実行されないため、更新操作とオーバーラップする場合があります(put
およびremove
を含む)。 取得では、開始時に保持している更新操作のうち、最後に完了した更新操作の結果が反映されます。 (つまり、指定されたキーの更新操作によって、更新された値を報告するそのキーの(null以外の)取得との間にhappens-before関係が生まれます。) putAll
やclear
などの集計操作では、並行取得は一部のエントリの挿入または削除だけを反映する可能性があります。 同様に、Iterator、SpliteratorおよびEnumerationは、ある時点またはイテレータおよび列挙の作成以降のハッシュ・テーブルの状態を反映する要素を返します。 これらがConcurrentModificationException
をスローすることはありません。 しかし、一度に1つのスレッドのみがイテレータを使用するように設計されています。 size
、isEmpty
およびcontainsValue
を含む集約ステータス・メソッドの結果は、通常、他のスレッドでマップの並行更新が行われていない場合にのみ有効であることに留意してください。 それ以外の場合、これらのメソッドの結果は一時的な状態を反映しているため、モニタリングや推定を目的とする場合には問題ありませんが、プログラムの制御には適していません。
このテーブルは、競合(つまり、別個のハッシュ・コードを持っているが、テーブル・サイズを法とする同じスロットに入るキー)の数が多すぎる場合に動的に拡張され、予想される平均効果として(サイズ変更の負荷係数のしきい値0.75に対応して)マッピング当たりおよそ2個のビンを保持します。 マッピングが追加および削除されると、この平均との差違が大きくなることがありますが、全体としては、ハッシュ・テーブルに関して一般に受け入れられている時間と容量のトレードオフが維持されます。 ただし、このハッシュ・テーブルまたはその他の種類のハッシュ・テーブルのサイズ変更は、相対的に低速な操作である可能性があります。 可能な場合は、サイズの推定値をコンストラクタのオプション引数である initialCapacity
として指定することをお薦めします。 コンストラクタの追加のオプション引数であるloadFactor
は、指定された要素数に対して割り当てる領域の量を計算するために使用されるテーブル密度を指定することにより、テーブルの初期容量をカスタマイズする追加手段を提供します。 また、このクラスの前のバージョンとの互換性を保つため、予想されるconcurrencyLevel
を初期サイズ設定の追加のヒントとしてコンストラクタにオプションで指定することもできます。 まったく同じhashCode()
を持つキーを数多く使用すると、ハッシュ・テーブルのパフォーマンスは確実に低下します。 影響を軽減するため、キーがComparable
である場合は、このクラスでキー間の比較順序を使用してキーの重複を解消できます。
キーのみが対象であり、マップされる値が(おそらく一時的に)使用されないか、またはすべてが同じマッピング値を取る場合は、ConcurrentHashMapのSet
展開を(newKeySet()
またはnewKeySet(int)
を使用して)作成または(keySet(Object)
を使用して)表示できます。
ConcurrentHashMapは、LongAdder
値を使用し、computeIfAbsent
を使用して初期化することにより、スケーラブルな周波数マップ(ヒストグラムまたはマルチ・セットの形式)として使用できます。 たとえば、ConcurrentHashMap<String,LongAdder> freqs
にカウントを追加するには、freqs.computeIfAbsent(key, k -> new LongAdder()).increment();
を使用
このクラスとそのビューおよびイテレータは、Map
およびIterator
インタフェースのオプション・メソッドすべてを実装します。
Hashtable
と同様に(HashMap
とは異なる)、このクラスは、キーまたは値としてnullが使用されることを許可しません
。
ConcurrentHashMapは、ほとんどのStream
メソッドとは異なり、たとえば共有レジストリ内の値のスナップショット・サマリーを計算するときに、他のスレッドで並行して更新されるマップでも安全(かつ多くの場合適切に)適用されるように設計された一連の順次および並列の一括オペレーションをサポートします。 それぞれ4つのフォームを持つ3種類の操作があり、引数、戻り値としてキー、値、エントリ、および(キー、値)のペアを受け取る関数があります。 ConcurrentHashMapの要素は特定の方法で順序付けられておらず、異なる並列実行で異なる順序で処理される可能性があるため、指定された関数の正確性が任意の順序や、計算の進行中に一時的に変更される可能性があるその他のオブジェクトまたは値に依存しないようにしてください。また、forEachアクションの場合を除き、副作用がないことが理想です。 Map.Entry
オブジェクトに対する一括オペレーションでは、setValue
メソッドはサポートされません。
- forEach: 各要素に対して所定のアクションを実行します。 バリアント形式は、アクションを実行する前に各要素に特定の変換を適用します。
- search: 各要素に与えられた関数を適用すると、最初に利用可能な非nullの結果が返されます。結果が見つかると、さらに検索をスキップします。
- reduce: 各要素を累積します。 指定されたリダクション関数は順序に依存できません(つまり、結合性と交換可能性を持つ必要があります)。 5つのバリアントがあります。
- 単純なリダクション。 (対応する戻り値の型がないため、(キー、値)関数引数に対応するこのメソッドの形式はありません。)
- 各要素に適用された特定の関数の結果を累積するマップされたリダクションです。
- 特定の基準値を使用したスカラーdouble、long、intへのリダクションです。
これらの一括オペレーションは、parallelismThreshold
引数を受け入れます。 現在のマップ・サイズが指定されたしきい値より小さいと推定された場合は、メソッドが逐次的に進行します。 値Long.MAX_VALUE
を使用すると、すべての並列処理が抑制されます。 値1
を使用すると、すべての並列計算に使用されるForkJoinPool.commonPool()
をフル活用するのに十分な数のサブタスクにパーティション化することによって、最大限の並列処理が行われます。 通常は、最初にこれらの極値のいずれかを選択し、その後オーバーヘッドとスループットのバランスを取った中間値を使用してパフォーマンスを計測します。
一括オペレーションの並行性プロパティは、ConcurrentHashMapの並行性プロパティから得られます。get(key)
および関連するアクセス・メソッドからnull以外の結果が返されると、関連する挿入または更新との間にhappens-before関係が生まれます。 一括オペレーションの結果は、これらの要素単位の関係の構成を反映します(ただし、なんらかの方法で休止していることがわかった場合を除き、マップ全体に関して原子的である必要はありません)。 逆に、マップ内のキーと値がnullになることはないため、nullは結果が現在存在しないことを確実かつ原子的に示す役割を果たします。 このプロパティを保持するため、nullはすべての非スカラー・リダクション・オペレーションの暗黙的な基準として機能します。 double、longおよびintのバージョンでは、この基準は他の値と結合されたときにその値を返すもの(つまり、リダクションの識別要素)である必要があります。 0を基準とする合計の計算やMAX_VALUEを基準とする最小数の計算など、ほとんどの一般的なリダクションにはこれらのプロパティがあります。
引数として指定される検索および変換関数も、同様に結果が存在しないことを示すためにnullを返す必要があります(その場合、結果は使用されません)。 マップされたリダクションの場合は、これによってフィルタとして機能する変換も可能になります。要素が結合されない場合は、null(プリミティブ特化の場合は識別基準)が返されます。 変換とフィルタリングの複合処理を作成するには、それらを検索またはリデュースのオペレーションで使用する前に、この「nullは現在何も存在しないことを意味する」というルールに従ってそれらを自分で構成します。
Entry引数を受け入れたり、返したりするメソッドは、キーと値の関連付けを保持します。 これらは、たとえば最大値のキーを見つけるときに便利です。 単純なEntry引数は、new AbstractMap.SimpleEntry(k,v)
を使用して指定できます。
一括オペレーションは、指定された関数の使用時に検出された例外をスローして、突然完了することがあります。 このような例外を処理するときは、他の並列実行されている関数も例外をスローした可能性があることや、最初の例外が発生しなかった場合は他の並列実行されている関数が例外をスローしたことに留意してください。
逐次形式に比べて並列形式の方が高速化されることは、一般的ですが保証はされません。 計算を並列化するためのベースとなる作業が計算自体より高負荷である場合、小さいマップに対する簡単な関数が関与する並列オペレーションは、逐次形式より実行速度が低くなる可能性があります。 同様に、すべてのプロセッサが無関係のタスクの実行でビジー状態である場合は、並列化しても実際にはそれほど多くの並列処理は行われない可能性があります。
すべてのタスク・メソッドに対するすべての引数は、null以外である必要があります。
このクラスは、Java Collections Frameworkのメンバーです。
- 導入されたバージョン:
- 1.5
- 関連項目:
-
ネストされたクラスのサマリー
修飾子と型クラス説明static final class
キーのSet
としてのConcurrentHashMapのビューです。オプションで、共通の値にマップすることによって追加を有効化できます。クラス java.util.AbstractMapで宣言されたネストされたクラス/インタフェース
AbstractMap.SimpleEntry<K,
V>, AbstractMap.SimpleImmutableEntry<K, V> -
コンストラクタのサマリー
コンストラクタ説明デフォルトの初期テーブル・サイズ(16)で、新しい空のマップを作成します。ConcurrentHashMap
(int initialCapacity) 動的にサイズを変更せずに、指定された数の要素を格納できる初期テーブル・サイズで、新しい空のマップを作成します。ConcurrentHashMap
(int initialCapacity, float loadFactor) 指定された要素数(initialCapacity
)と初期テーブル密度(loadFactor
)に基づく初期テーブル・サイズで、新しい空のマップを作成します。ConcurrentHashMap
(int initialCapacity, float loadFactor, int concurrencyLevel) 指定された数の要素(initialCapacity
)、初期表の密度が(loadFactor
)、および同時にスレッド(concurrencyLevel
)を更新する数に基づいて、初期表サイズで新しい空のマップを作成します。ConcurrentHashMap
(Map<? extends K, ? extends V> m) 指定されたマップと同じマッピングで新しいマップを作成します。 -
メソッドのサマリー
修飾子と型メソッド説明void
clear()
すべてのマッピングをマップから削除します。指定されたキーと現在マップされている値に対するマッピングの計算を試みます(現在のマッピングが存在しない場合はnull
)。computeIfAbsent
(K key, Function<? super K, ? extends V> mappingFunction) 指定されたキーがまだ値に関連付けられていない場合、指定されたマッピング関数を使用してその値の計算を試行し、null
でない場合はそれをこのマップに入力します。computeIfPresent
(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction) 指定されたキーの値が存在する場合、キーと現在マップされている値から新しいマッピングの計算を試みます。boolean
この表の指定された値にキーがマップされているかどうかをテストします。boolean
containsKey
(Object key) 指定されたオブジェクトが、この表のキーかどうかを判定します。boolean
containsValue
(Object value) このマップが1つまたは複数のキーと指定された値をマッピングしている場合にtrue
を返します。elements()
表にある値のリストを返します。entrySet()
このマップに含まれるマッピングのSet
ビューを返します。boolean
指定されたオブジェクトがこのマップと等しいかどうかを比較します。void
forEach
(long parallelismThreshold, BiConsumer<? super K, ? super V> action) 各(key, value)に対して指定されたアクションを実行します。<U> void
forEach
(long parallelismThreshold, BiFunction<? super K, ? super V, ? extends U> transformer, Consumer<? super U> action) 各(キー, 値)のnullでない各変換に対し、指定されたアクションを実行します。void
forEachEntry
(long parallelismThreshold, Consumer<? super Map.Entry<K, V>> action) 各エントリに対して指定されたアクションを実行します。<U> void
forEachEntry
(long parallelismThreshold, Function<Map.Entry<K, V>, ? extends U> transformer, Consumer<? super U> action) 各エントリのnull以外の各変換に対して指定されたアクションを実行します。void
forEachKey
(long parallelismThreshold, Consumer<? super K> action) 各キーに対して指定されたアクションを実行します。<U> void
forEachKey
(long parallelismThreshold, Function<? super K, ? extends U> transformer, Consumer<? super U> action) 各キーのnull以外の各変換に対して指定されたアクションを実行します。void
forEachValue
(long parallelismThreshold, Consumer<? super V> action) 各値に対して指定されたアクションを実行します。<U> void
forEachValue
(long parallelismThreshold, Function<? super V, ? extends U> transformer, Consumer<? super U> action) 各値のnull以外の各変換に対して指定されたアクションを実行します。指定されたキーがマップされている値を返します。そのキーのマッピングがこのマップに含まれていない場合はnull
を返します。getOrDefault
(Object key, V defaultValue) 指定されたキーがマップされる値を返します。このマップにそのキーのマッピングが含まれていない場合は、指定されたデフォルト値を返します。int
hashCode()
このMap
のハッシュ・コード値(つまり、マップ内の各キーと値のペアのkey.hashCode() ^ value.hashCode()
の合計)を返します。boolean
isEmpty()
このマップがキーと値のマッピングを保持しない場合にtrue
を返します。keys()
表にあるキーの列挙を返します。keySet()
このマップに含まれるキーのSet
ビューを返します。このマップ内のキーのSet
ビューを返します。追加(つまり、Collection.add(E)
およびCollection.addAll(Collection)
)には、指定された共通のマップされた値を使用します。long
マッピングの数を返します。指定されたキーがまだ(nullでない)値と関連付けられていない場合は、指定された値に関連付けます。static <K> ConcurrentHashMap.KeySetView<K,
Boolean> 指定された型からBoolean.TRUE
への、ConcurrentHashMapに連動する新しいSet
を作成します。static <K> ConcurrentHashMap.KeySetView<K,
Boolean> newKeySet
(int initialCapacity) 指定された型からBoolean.TRUE
への、ConcurrentHashMapに連動する新しいSet
を作成します。このテーブルで、指定されたキーを指定された値にマップします。void
指定したマップからこのマップにすべてのマッピングをコピーします。putIfAbsent
(K key, V value) 指定されたキーがまだ値と関連付けられていない場合は、指定された値に関連付けます。<U> U
reduce
(long parallelismThreshold, BiFunction<? super K, ? super V, ? extends U> transformer, BiFunction<? super U, ? super U, ? extends U> reducer) 指定されたリデューサを使用して値を結合することにより、すべての(キー、値)ペアの指定された変換の累積結果を返します。結果がない場合はnullを返します。reduceEntries
(long parallelismThreshold, BiFunction<Map.Entry<K, V>, Map.Entry<K, V>, ? extends Map.Entry<K, V>> reducer) 指定されたリデューサを使用して値を結合することにより、すべてのエントリの累積結果を返します。結果がない場合はnullを返します。<U> U
reduceEntries
(long parallelismThreshold, Function<Map.Entry<K, V>, ? extends U> transformer, BiFunction<? super U, ? super U, ? extends U> reducer) 指定されたリデューサを使用して値を結合することにより、すべてのエントリの指定された変換の累積結果を返します。結果がない場合はnullを返します。double
reduceEntriesToDouble
(long parallelismThreshold, ToDoubleFunction<Map.Entry<K, V>> transformer, double basis, DoubleBinaryOperator reducer) 指定されたリデューサを使用して値を結合し、指定された基準を識別値として使用して、すべてのエントリの指定された変換の累積結果を返します。int
reduceEntriesToInt
(long parallelismThreshold, ToIntFunction<Map.Entry<K, V>> transformer, int basis, IntBinaryOperator reducer) 指定されたリデューサを使用して値を結合し、指定された基準を識別値として使用して、すべてのエントリの指定された変換の累積結果を返します。long
reduceEntriesToLong
(long parallelismThreshold, ToLongFunction<Map.Entry<K, V>> transformer, long basis, LongBinaryOperator reducer) 指定されたリデューサを使用して値を結合し、指定された基準を識別値として使用して、すべてのエントリの指定された変換の累積結果を返します。reduceKeys
(long parallelismThreshold, BiFunction<? super K, ? super K, ? extends K> reducer) 指定されたリデューサを使用して値を結合することにより、すべてのキーの累積結果を返します。結果がない場合はnullを返します。<U> U
reduceKeys
(long parallelismThreshold, Function<? super K, ? extends U> transformer, BiFunction<? super U, ? super U, ? extends U> reducer) 指定されたリデューサを使用して値を結合することにより、すべてのキーの指定された変換の累積結果を返します。結果がない場合はnullを返します。double
reduceKeysToDouble
(long parallelismThreshold, ToDoubleFunction<? super K> transformer, double basis, DoubleBinaryOperator reducer) 指定されたリデューサを使用して値を結合し、指定された基準を識別値として使用して、すべてのキーの指定された変換の累積結果を返します。int
reduceKeysToInt
(long parallelismThreshold, ToIntFunction<? super K> transformer, int basis, IntBinaryOperator reducer) 指定されたリデューサを使用して値を結合し、指定された基準を識別値として使用して、すべてのキーの指定された変換の累積結果を返します。long
reduceKeysToLong
(long parallelismThreshold, ToLongFunction<? super K> transformer, long basis, LongBinaryOperator reducer) 指定されたリデューサを使用して値を結合し、指定された基準を識別値として使用して、すべてのキーの指定された変換の累積結果を返します。double
reduceToDouble
(long parallelismThreshold, ToDoubleBiFunction<? super K, ? super V> transformer, double basis, DoubleBinaryOperator reducer) 指定されたリデューサを使用して値を結合し、指定された基準を識別値として使用して、すべての(キー、値)ペアの指定された変換の累積結果を返します。int
reduceToInt
(long parallelismThreshold, ToIntBiFunction<? super K, ? super V> transformer, int basis, IntBinaryOperator reducer) 指定されたリデューサを使用して値を結合し、指定された基準を識別値として使用して、すべての(キー、値)ペアの指定された変換の累積結果を返します。long
reduceToLong
(long parallelismThreshold, ToLongBiFunction<? super K, ? super V> transformer, long basis, LongBinaryOperator reducer) 指定されたリデューサを使用して値を結合し、指定された基準を識別値として使用して、すべての(キー、値)ペアの指定された変換の累積結果を返します。reduceValues
(long parallelismThreshold, BiFunction<? super V, ? super V, ? extends V> reducer) 指定されたリデューサを使用して値を結合することにより、すべての値の累積結果を返します。結果がない場合はnullを返します。<U> U
reduceValues
(long parallelismThreshold, Function<? super V, ? extends U> transformer, BiFunction<? super U, ? super U, ? extends U> reducer) 指定されたリデューサを使用して値を結合することにより、すべての値の指定された変換の累積結果を返します。結果がない場合はnullを返します。double
reduceValuesToDouble
(long parallelismThreshold, ToDoubleFunction<? super V> transformer, double basis, DoubleBinaryOperator reducer) 指定されたリデューサを使用して値を結合し、指定された基準を識別値として使用して、すべての値の指定された変換の累積結果を返します。int
reduceValuesToInt
(long parallelismThreshold, ToIntFunction<? super V> transformer, int basis, IntBinaryOperator reducer) 指定されたリデューサを使用して値を結合し、指定された基準を識別値として使用して、すべての値の指定された変換の累積結果を返します。long
reduceValuesToLong
(long parallelismThreshold, ToLongFunction<? super V> transformer, long basis, LongBinaryOperator reducer) 指定されたリデューサを使用して値を結合し、指定された基準を識別値として使用して、すべての値の指定された変換の累積結果を返します。キー(およびそれに対応する値)をこのマップから削除します。boolean
指定された値にキーが現在マッピングされている場合にのみ、そのキーのエントリを削除します。キーが値に現在マッピングされている場合にのみ、そのキーのエントリを置換します。boolean
指定された値にキーが現在マッピングされている場合にのみ、そのキーのエントリを置換します。<U> U
search
(long parallelismThreshold, BiFunction<? super K, ? super V, ? extends U> searchFunction) 指定された検索関数を各(キー、値)に適用し、nullでない結果を返します(存在しない場合はnull)。<U> U
searchEntries
(long parallelismThreshold, Function<Map.Entry<K, V>, ? extends U> searchFunction) 各エントリに指定された検索関数を適用したnull以外の結果を返します。結果がない場合はnullを返します。<U> U
searchKeys
(long parallelismThreshold, Function<? super K, ? extends U> searchFunction) 各キーに指定された検索関数を適用したnull以外の結果を返します。結果がない場合はnullを返します。<U> U
searchValues
(long parallelismThreshold, Function<? super V, ? extends U> searchFunction) 各値に指定された検索関数を適用したnull以外の結果を返します。結果がない場合はnullを返します。int
size()
このマップ内のキー値マッピングの数を返します。toString()
このマップの文字列表現を返します。values()
このマップに含まれる値のCollection
ビューを返します。クラス java.util.AbstractMapで宣言されたメソッド
clone, isEmpty, size
インタフェース java.util.concurrent.ConcurrentMapで宣言されたメソッド
forEach, replaceAll
-
コンストラクタの詳細
-
ConcurrentHashMap
public ConcurrentHashMap()デフォルトの初期テーブル・サイズ(16)で、新しい空のマップを作成します。 -
ConcurrentHashMap
public ConcurrentHashMap(int initialCapacity) 動的にサイズを変更せずに、指定された数の要素を格納できる初期テーブル・サイズで、新しい空のマップを作成します。- パラメータ:
initialCapacity
- 実装は、この多数の要素を格納するように内部のサイズ設定を実行する。- 例外:
IllegalArgumentException
- 要素の初期容量が負の場合
-
ConcurrentHashMap
指定されたマップと同じマッピングで新しいマップを作成します。- パラメータ:
m
- マップ
-
ConcurrentHashMap
public ConcurrentHashMap(int initialCapacity, float loadFactor) 指定された要素数(initialCapacity
)と初期テーブル密度(loadFactor
)に基づく初期テーブル・サイズで、新しい空のマップを作成します。- パラメータ:
initialCapacity
- 初期容量。 負荷係数を指定すると、実装はこの数の要素を格納できるように内部のサイズ設定を行う。loadFactor
- 初期テーブル・サイズを設定するための負荷係数(テーブル密度)- 例外:
IllegalArgumentException
- 要素の初期容量が負であるか、または負荷係数が正でない場合- 導入されたバージョン:
- 1.6
-
ConcurrentHashMap
public ConcurrentHashMap(int initialCapacity, float loadFactor, int concurrencyLevel) 指定された数の要素(initialCapacity
)、初期表の密度が(loadFactor
)、および同時にスレッド(concurrencyLevel
)を更新する数に基づいて、初期表サイズで新しい空のマップを作成します。- パラメータ:
initialCapacity
- 初期容量。 負荷係数を指定すると、実装はこの数の要素を格納できるように内部のサイズ設定を行う。loadFactor
- 初期テーブル・サイズを設定するための負荷係数(テーブル密度)concurrencyLevel
- 並行して更新しているスレッドの推定数。 実装はこの値をサイズ設定のヒントとして使用できる。- 例外:
IllegalArgumentException
- 初期容量が負であるか、負荷係数またはconcurrencyLevelが正でない場合
-
-
メソッドの詳細
-
size
public int size()このマップ内のキー値マッピングの数を返します。 -
isEmpty
public boolean isEmpty()このマップがキーと値のマッピングを保持しない場合にtrue
を返します。 -
get
指定されたキーがマップされている値を返します。そのキーのマッピングがこのマップに含まれていない場合はnull
を返します。つまり、このメソッドは、
key.equals(k)
となるキーk
から値v
へのマッピングがこのマップに含まれている場合はv
を返し、それ以外の場合はnull
を返します。 (このようなマッピングは1つのみ存在できます。)- 定義:
- インタフェース
Map<K,
内のV> get
- オーバーライド:
- クラス
AbstractMap<K,
のV> get
- パラメータ:
key
- 関連付けられた値が返されるキー- 戻り値:
- 指定されたキーがマップされている値。そのキーのマッピングがこのマップに含まれていない場合は
null
- 例外:
NullPointerException
- 指定されたキーがnullである場合
-
containsKey
public boolean containsKey(Object key) 指定されたオブジェクトが、この表のキーかどうかを判定します。- 定義:
- インタフェース
Map<K,
内のV> containsKey
- オーバーライド:
- クラス
AbstractMap<K,
のV> containsKey
- パラメータ:
key
- 使用可能なキー- 戻り値:
equals
メソッドによって決定されるように、指定されたオブジェクトがこのテーブル内のキーである場合にのみtrue
。それ以外の場合はfalse
- 例外:
NullPointerException
- 指定されたキーがnullである場合
-
containsValue
public boolean containsValue(Object value) このマップが1つまたは複数のキーと指定された値をマッピングしている場合にtrue
を返します。 ノート: このメソッドは、マップの完全なトラバーサルを必要とする場合があり、containsKey
メソッドに比べてはるかに低速です。- 定義:
- インタフェース
Map<K,
内のV> containsValue
- オーバーライド:
- クラス
AbstractMap<K,
のV> containsValue
- パラメータ:
value
- このマップにあるかどうかが判定される値- 戻り値:
- このマップが1つまたは複数のキーを指定された値にマッピングしている場合は
true
- 例外:
NullPointerException
- 指定された値がnullである場合
-
put
このテーブルで、指定されたキーを指定された値にマップします。 キーや値はnullにすることはできません。valueを取得するには、元のkeyに等しいkeyを指定して
get
メソッドを呼び出します。- 定義:
- インタフェース
Map<K,
内のV> put
- オーバーライド:
- クラス
AbstractMap<K,
のV> put
- パラメータ:
key
- 指定された値が関連付けられるキーvalue
- 指定されたキーに関連付けられる値- 戻り値:
key
に以前に関連付けられていた値。key
のマッピングが存在しなかった場合はnull
- 例外:
NullPointerException
- 指定されたキーまたは値がnullの場合
-
putAll
指定したマップからこのマップにすべてのマッピングをコピーします。 これにより、マップが指定されたマップ内に現在あるキーのすべてに対して持っていたマッピングが置き換えられます。 -
remove
キー(およびそれに対応する値)をこのマップから削除します。 そのキーがマップにない場合は、何も行いません。- 定義:
- インタフェース
Map<K,
内のV> remove
- オーバーライド:
- クラス
AbstractMap<K,
のV> remove
- パラメータ:
key
- 削除するキー- 戻り値:
key
に以前に関連付けられていた値。key
のマッピングが存在しなかった場合はnull
- 例外:
NullPointerException
- 指定されたキーがnullである場合
-
clear
public void clear()すべてのマッピングをマップから削除します。 -
keySet
public ConcurrentHashMap.KeySetView<K,V> keySet()このマップに含まれるキーのSet
ビューを返します。 セットはマップと連動しているので、マップに対する変更はセットに反映され、また、セットに対する変更はマップに反映されます。 セットは要素の削除をサポートしており、対応するマッピングをこのマップから削除できます。削除は、Iterator.remove
、Set.remove
、removeAll
、retainAll
およびclear
オペレーションを通して行います。add
またはaddAll
操作はサポートされていません。ビューのイテレータおよびスプリッテレータは、弱一貫性を持っています。
ビューの
spliterator
は、Spliterator.CONCURRENT
、Spliterator.DISTINCT
およびSpliterator.NONNULL
を報告します。 -
values
public Collection<V> values()このマップに含まれる値のCollection
ビューを返します。 コレクションはマップと連動しているので、マップに対する変更はコレクションに反映され、またコレクションに対する変更はマップに反映されます。 コレクションは要素の削除をサポートしており、対応するマッピングをこのマップから削除できます。削除は、Iterator.remove
、Collection.remove
、removeAll
、retainAll
およびclear
オペレーションを通して行います。add
またはaddAll
操作はサポートされていません。ビューのイテレータおよびスプリッテレータは、弱一貫性を持っています。
ビューの
spliterator
は、Spliterator.CONCURRENT
およびSpliterator.NONNULL
を報告します。 -
entrySet
このマップに含まれるマッピングのSet
ビューを返します。 セットはマップと連動しているので、マップに対する変更はセットに反映され、また、セットに対する変更はマップに反映されます。 セットは要素の削除をサポートします。Iterator.remove
、Set.remove
、removeAll
、retainAll
、およびclear
オペレーションで対応するマッピングをマップから削除します。ビューのイテレータおよびスプリッテレータは、弱一貫性を持っています。
ビューの
spliterator
は、Spliterator.CONCURRENT
、Spliterator.DISTINCT
およびSpliterator.NONNULL
を報告します。 -
hashCode
public int hashCode()このMap
のハッシュ・コード値(つまり、マップ内の各キーと値のペアのkey.hashCode() ^ value.hashCode()
の合計)を返します。 -
toString
public String toString()このマップの文字列表現を返します。 文字列表現は、キーと値のマッピングを(特に順序を決めずに)中括弧("{}
")で囲んだリストで構成されます。 隣接するマッピングは、文字", "
(カンマと空白文字)によって区切られます。 各キーと値のマッピングは、キーの後に等号("=
")が続き、その次にキーと関連付けられる値が続くという形で表現されます。- オーバーライド:
- クラス
AbstractMap<K,
のV> toString
- 戻り値:
- このマップの文字列表現
-
equals
public boolean equals(Object o) 指定されたオブジェクトがこのマップと等しいかどうかを比較します。 指定されたオブジェクトがこのマップと同じマッピングを持つマップである場合は、true
を返します。 このオペレーションは、マップのいずれかがこのメソッドの実行中に並行して変更された場合、誤解を招きやすい結果を返すことがあります。 -
putIfAbsent
指定されたキーがまだ値と関連付けられていない場合は、指定された値に関連付けます。 これは、このmap
の場合と同じです:if (!map.containsKey(key)) return map.put(key, value); else return map.get(key);
- 定義:
- インタフェース
ConcurrentMap<K,
内のV> putIfAbsent
- 定義:
- インタフェース
Map<K,
内のV> putIfAbsent
- パラメータ:
key
- 指定された値が関連付けられるキーvalue
- 指定されたキーに関連付けられる値- 戻り値:
- 指定されたキーに関連付けられた以前の値。キーのマッピングがなかった場合は
null
。 - 例外:
NullPointerException
- 指定されたキーまたは値がnullの場合
-
remove
指定された値にキーが現在マッピングされている場合にのみ、そのキーのエントリを削除します。 これは、このmap
の場合と同じです:if (map.containsKey(key) && Objects.equals(map.get(key), value)) { map.remove(key); return true; } else { return false; }
- 定義:
- インタフェース
ConcurrentMap<K,
内のV> remove
- 定義:
- インタフェース
Map<K,
内のV> remove
- パラメータ:
key
- 指定された値が関連付けられるキーvalue
- 指定されたキーに関連付けられていると予想される値- 戻り値:
- 値が削除された場合は
true
- 例外:
NullPointerException
- 指定されたキーがnullである場合
-
replace
指定された値にキーが現在マッピングされている場合にのみ、そのキーのエントリを置換します。 これは、このmap
の場合と同じです:if (map.containsKey(key) && Objects.equals(map.get(key), oldValue)) { map.put(key, newValue); return true; } else { return false; }
- 定義:
- インタフェース
ConcurrentMap<K,
内のV> replace
- 定義:
- インタフェース
Map<K,
内のV> replace
- パラメータ:
key
- 指定された値が関連付けられるキーoldValue
- 指定されたキーに関連付けられていると予想される値newValue
- 指定されたキーに関連付けられる値- 戻り値:
- 値が置換された場合は
true
- 例外:
NullPointerException
- 引数が1つでもnullの場合
-
replace
キーが値に現在マッピングされている場合にのみ、そのキーのエントリを置換します。 これは、このmap
の場合と同じです:if (map.containsKey(key)) return map.put(key, value); else return null;
- 定義:
- インタフェース
ConcurrentMap<K,
内のV> replace
- 定義:
- インタフェース
Map<K,
内のV> replace
- パラメータ:
key
- 指定された値が関連付けられるキーvalue
- 指定されたキーに関連付けられる値- 戻り値:
- 指定されたキーに関連付けられた以前の値。キーのマッピングがなかった場合は
null
。 - 例外:
NullPointerException
- 指定されたキーまたは値がnullの場合
-
getOrDefault
指定されたキーがマップされる値を返します。このマップにそのキーのマッピングが含まれていない場合は、指定されたデフォルト値を返します。- 定義:
- インタフェース
ConcurrentMap<K,
内のV> getOrDefault
- 定義:
- インタフェース
Map<K,
内のV> getOrDefault
- パラメータ:
key
- 関連付けられた値が返されるキーdefaultValue
- このマップに指定されたキーのマッピングが含まれていない場合に返す値- 戻り値:
- 存在する場合はキーのマッピング。それ以外の場合はデフォルト値
- 例外:
NullPointerException
- 指定されたキーがnullである場合
-
computeIfAbsent
指定されたキーがまだ値に関連付けられていない場合、指定されたマッピング関数を使用してその値の計算を試行し、null
でない場合はそれをこのマップに入力します。 メソッドの呼出し全体は原子的に実行されます。 指定された関数は、キーが存在しない場合はこのメソッドの呼出しごとに1回だけ呼び出され、それ以外の場合は一度だけ呼び出されません。 計算の実行中に、他のスレッドによるこのマップの更新操作がブロックされることがあります。そのため、計算は短時間で簡単になります。マッピング関数では、計算中にこのマップを変更できません。
- 定義:
- インタフェース
ConcurrentMap<K,
内のV> computeIfAbsent
- 定義:
- インタフェース
Map<K,
内のV> computeIfAbsent
- パラメータ:
key
- 指定された値が関連付けられるキーmappingFunction
- 値を計算するための関数- 戻り値:
- 指定されたキーに関連付けられている現在の(既存の、または計算された)値。計算された値がnullである場合はnull
- 例外:
NullPointerException
- 指定されたキーまたはmappingFunctionがnullである場合IllegalStateException
- 計算で、他の方法では完了しない再帰的な更新がこのマップに対して試行されたことが検出された場合RuntimeException
- (またはError) mappingFunctionでそうなった場合(この場合、マッピングは確立されていない状態のままになる)
-
computeIfPresent
指定されたキーの値が存在する場合、キーと現在マップされている値から新しいマッピングの計算を試みます。 メソッドの呼出し全体は原子的に実行されます。 指定された関数は、キーが存在する場合はこのメソッドの呼出しごとに1回だけ呼び出され、存在しない場合は呼び出されません。 計算の実行中に、他のスレッドによるこのマップの更新操作がブロックされることがあります。そのため、計算は短時間で簡単になります。再マッピング関数では、計算時にこのマップを変更できません。
- 定義:
- インタフェース
ConcurrentMap<K,
内のV> computeIfPresent
- 定義:
- インタフェース
Map<K,
内のV> computeIfPresent
- パラメータ:
key
- 値を関連付けることができるキーremappingFunction
- 値を計算するための関数- 戻り値:
- 指定されたキーに関連付けられる新しい値。存在しない場合はnull
- 例外:
NullPointerException
- 指定されたキーまたはremappingFunctionがnullである場合IllegalStateException
- 計算で、他の方法では完了しない再帰的な更新がこのマップに対して試行されたことが検出された場合RuntimeException
- (またはError) remappingFunctionで例外またはエラーが発生した場合(この場合、マッピングは変更されない)
-
compute
指定されたキーと現在マップされている値に対するマッピングの計算を試みます(現在のマッピングが存在しない場合はnull
)。 メソッドの呼出し全体は原子的に実行されます。 指定したファンクションがこのメソッドを呼び出すたびに1回のみ起動されます。 計算の実行中に、他のスレッドによるこのマップの更新操作がブロックされることがあります。そのため、計算は短時間で簡単になります。再マッピング関数では、計算時にこのマップを変更できません。
- 定義:
- インタフェース
ConcurrentMap<K,
内のV> compute
- 定義:
- インタフェース
Map<K,
内のV> compute
- パラメータ:
key
- 指定された値が関連付けられるキーremappingFunction
- 値を計算するための関数- 戻り値:
- 指定されたキーに関連付けられる新しい値。存在しない場合はnull
- 例外:
NullPointerException
- 指定されたキーまたはremappingFunctionがnullである場合IllegalStateException
- 計算で、他の方法では完了しない再帰的な更新がこのマップに対して試行されたことが検出された場合RuntimeException
- (またはError) remappingFunctionで例外またはエラーが発生した場合(この場合、マッピングは変更されない)
-
merge
指定されたキーがまだ(nullでない)値と関連付けられていない場合は、指定された値に関連付けます。 それ以外の場合は、指定された再マッピング関数の結果で値を置換し、null
の場合は削除します。 メソッドの呼出し全体は原子的に実行されます。 他のスレッドがこのマップに対して試行する更新オペレーションの一部は計算の進行中にブロックされる可能性があるため、計算は短く簡単にしてください。また、計算でこのマップの他のマッピングを更新しようとしないでください。- 定義:
- インタフェース
ConcurrentMap<K,
内のV> merge
- 定義:
- インタフェース
Map<K,
内のV> merge
- パラメータ:
key
- 指定された値が関連付けられるキーvalue
- 値が存在しない場合に使用する値remappingFunction
- 値が存在する場合に値を再計算するための関数- 戻り値:
- 指定されたキーに関連付けられる新しい値。存在しない場合はnull
- 例外:
NullPointerException
- 指定されたキーまたはremappingFunctionがnullである場合RuntimeException
- (またはError) remappingFunctionで例外またはエラーが発生した場合(この場合、マッピングは変更されない)
-
contains
public boolean contains(Object value) この表の指定された値にキーがマップされているかどうかをテストします。このメソッドは、機能が
containsValue(Object)
と同じであり、Java Collections Frameworkの導入前にこのメソッドをサポートしていたクラスHashtable
との完全な互換性を保証するためだけに存在することに注意してください。- パラメータ:
value
- 検索する値- 戻り値:
equals
メソッドで決められているように、一部のキーがこのテーブル内のvalue
引数にマッピングされる場合にのみtrue
。それ以外の場合はfalse
- 例外:
NullPointerException
- 指定された値がnullである場合
-
keys
public Enumeration<K> keys()表にあるキーの列挙を返します。- 戻り値:
- テーブルにあるキーのリスト
- 関連項目:
-
elements
public Enumeration<V> elements()表にある値のリストを返します。- 戻り値:
- テーブルにある値のリスト
- 関連項目:
-
mappingCount
public long mappingCount()マッピングの数を返します。 ConcurrentHashMapにはintで表すことができる数より多くのマッピングが含まれている可能性があるため、size()
のかわりにこのメソッドを使用するようにしてください。 返される値は推定値であり、挿入や削除が同時に行われた場合、実際のカウントは異なる可能性があります。- 戻り値:
- マッピングの数
- 導入されたバージョン:
- 1.8
-
newKeySet
public static <K> ConcurrentHashMap.KeySetView<K,Boolean> newKeySet()指定された型からBoolean.TRUE
への、ConcurrentHashMapに連動する新しいSet
を作成します。- 型パラメータ:
K
- 返されるセットの要素型- 戻り値:
- 新しいセット
- 導入されたバージョン:
- 1.8
-
newKeySet
public static <K> ConcurrentHashMap.KeySetView<K,Boolean> newKeySet(int initialCapacity) 指定された型からBoolean.TRUE
への、ConcurrentHashMapに連動する新しいSet
を作成します。- 型パラメータ:
K
- 返されるセットの要素型- パラメータ:
initialCapacity
- 実装は、この多数の要素を格納するように内部のサイズ設定を実行する。- 戻り値:
- 新しいセット
- 例外:
IllegalArgumentException
- 要素の初期容量が負の場合- 導入されたバージョン:
- 1.8
-
keySet
public ConcurrentHashMap.KeySetView<K,V> keySet(V mappedValue) このマップ内のキーのSet
ビューを返します。追加(つまり、Collection.add(E)
およびCollection.addAll(Collection)
)には、指定された共通のマップされた値を使用します。 これは、当然ながら、このビューからのすべての追加で同じ値を使用することが許容される場合にのみ適しています。- パラメータ:
mappedValue
- 追加に使用するマップされた値- 戻り値:
- セット・ビュー
- 例外:
NullPointerException
- mappedValueがnullである場合
-
forEach
public void forEach(long parallelismThreshold, BiConsumer<? super K, ? super V> action) 各(key, value)に対して指定されたアクションを実行します。- パラメータ:
parallelismThreshold
- このオペレーションを並列的に実行するために必要な(推定の)要素数action
- アクション- 導入されたバージョン:
- 1.8
-
forEach
public <U> void forEach(long parallelismThreshold, BiFunction<? super K, ? super V, ? extends U> transformer, Consumer<? super U> action) 各(キー, 値)のnullでない各変換に対し、指定されたアクションを実行します。- 型パラメータ:
U
- トランスフォーマの戻り値の型- パラメータ:
parallelismThreshold
- このオペレーションを並列的に実行するために必要な(推定の)要素数transformer
- 要素の変換を返す関数。変換がない場合はnull(その場合、アクションは適用されない)action
- アクション- 導入されたバージョン:
- 1.8
-
search
public <U> U search(long parallelismThreshold, BiFunction<? super K, ? super V, ? extends U> searchFunction) 指定された検索関数を各(キー、値)に適用し、nullでない結果を返します(存在しない場合はnull)。 成功した場合、その後の要素の処理は抑制され、検索関数の他の並列呼出しの結果は無視されます。- 型パラメータ:
U
- 検索関数の戻り値の型- パラメータ:
parallelismThreshold
- このオペレーションを並列的に実行するために必要な(推定の)要素数searchFunction
- 成功した場合はnull以外の結果を返し、それ以外の場合はnullを返す関数。- 戻り値:
- 各(キー、値)に対して指定された検索関数を適用した場合のnull以外の結果。存在しない場合はnull
- 導入されたバージョン:
- 1.8
-
reduce
public <U> U reduce(long parallelismThreshold, BiFunction<? super K, ? super V, ? extends U> transformer, BiFunction<? super U, ? super U, ? extends U> reducer) 指定されたリデューサを使用して値を結合することにより、すべての(キー、値)ペアの指定された変換の累積結果を返します。結果がない場合はnullを返します。- 型パラメータ:
U
- トランスフォーマの戻り値の型- パラメータ:
parallelismThreshold
- このオペレーションを並列的に実行するために必要な(推定の)要素数transformer
- 要素の変換を返す関数。変換がない場合はnull(その場合、値は結合されない)reducer
- 交換可能性と結合性を持つ結合関数- 戻り値:
- すべての(キー、値)ペアの指定された変換を累積した結果
- 導入されたバージョン:
- 1.8
-
reduceToDouble
public double reduceToDouble(long parallelismThreshold, ToDoubleBiFunction<? super K, ? super V> transformer, double basis, DoubleBinaryOperator reducer) 指定されたリデューサを使用して値を結合し、指定された基準を識別値として使用して、すべての(キー、値)ペアの指定された変換の累積結果を返します。- パラメータ:
parallelismThreshold
- このオペレーションを並列的に実行するために必要な(推定の)要素数transformer
- 要素の変換を返す関数basis
- リダクションの識別(初期のデフォルト値)reducer
- 交換可能性と結合性を持つ結合関数- 戻り値:
- すべての(キー、値)ペアの指定された変換を累積した結果
- 導入されたバージョン:
- 1.8
-
reduceToLong
public long reduceToLong(long parallelismThreshold, ToLongBiFunction<? super K, ? super V> transformer, long basis, LongBinaryOperator reducer) 指定されたリデューサを使用して値を結合し、指定された基準を識別値として使用して、すべての(キー、値)ペアの指定された変換の累積結果を返します。- パラメータ:
parallelismThreshold
- このオペレーションを並列的に実行するために必要な(推定の)要素数transformer
- 要素の変換を返す関数basis
- リダクションの識別(初期のデフォルト値)reducer
- 交換可能性と結合性を持つ結合関数- 戻り値:
- すべての(キー、値)ペアの指定された変換を累積した結果
- 導入されたバージョン:
- 1.8
-
reduceToInt
public int reduceToInt(long parallelismThreshold, ToIntBiFunction<? super K, ? super V> transformer, int basis, IntBinaryOperator reducer) 指定されたリデューサを使用して値を結合し、指定された基準を識別値として使用して、すべての(キー、値)ペアの指定された変換の累積結果を返します。- パラメータ:
parallelismThreshold
- このオペレーションを並列的に実行するために必要な(推定の)要素数transformer
- 要素の変換を返す関数basis
- リダクションの識別(初期のデフォルト値)reducer
- 交換可能性と結合性を持つ結合関数- 戻り値:
- すべての(キー、値)ペアの指定された変換を累積した結果
- 導入されたバージョン:
- 1.8
-
forEachKey
各キーに対して指定されたアクションを実行します。- パラメータ:
parallelismThreshold
- このオペレーションを並列的に実行するために必要な(推定の)要素数action
- アクション- 導入されたバージョン:
- 1.8
-
forEachKey
public <U> void forEachKey(long parallelismThreshold, Function<? super K, ? extends U> transformer, Consumer<? super U> action) 各キーのnull以外の各変換に対して指定されたアクションを実行します。- 型パラメータ:
U
- トランスフォーマの戻り値の型- パラメータ:
parallelismThreshold
- このオペレーションを並列的に実行するために必要な(推定の)要素数transformer
- 要素の変換を返す関数。変換がない場合はnull(その場合、アクションは適用されない)action
- アクション- 導入されたバージョン:
- 1.8
-
searchKeys
各キーに指定された検索関数を適用したnull以外の結果を返します。結果がない場合はnullを返します。 成功した場合、その後の要素の処理は抑制され、検索関数の他の並列呼出しの結果は無視されます。- 型パラメータ:
U
- 検索関数の戻り値の型- パラメータ:
parallelismThreshold
- このオペレーションを並列的に実行するために必要な(推定の)要素数searchFunction
- 成功した場合はnull以外の結果を返し、それ以外の場合はnullを返す関数。- 戻り値:
- 各キーに対して指定された検索関数を適用した場合のnull以外の結果。存在しない場合はnull
- 導入されたバージョン:
- 1.8
-
reduceKeys
public K reduceKeys(long parallelismThreshold, BiFunction<? super K, ? super K, ? extends K> reducer) 指定されたリデューサを使用して値を結合することにより、すべてのキーの累積結果を返します。結果がない場合はnullを返します。- パラメータ:
parallelismThreshold
- このオペレーションを並列的に実行するために必要な(推定の)要素数reducer
- 交換可能性と結合性を持つ結合関数- 戻り値:
- 指定されたリデューサを使用して値を結合することによってすべてのキーを累積した結果。存在しない場合はnull
- 導入されたバージョン:
- 1.8
-
reduceKeys
public <U> U reduceKeys(long parallelismThreshold, Function<? super K, ? extends U> transformer, BiFunction<? super U, ? super U, ? extends U> reducer) 指定されたリデューサを使用して値を結合することにより、すべてのキーの指定された変換の累積結果を返します。結果がない場合はnullを返します。- 型パラメータ:
U
- トランスフォーマの戻り値の型- パラメータ:
parallelismThreshold
- このオペレーションを並列的に実行するために必要な(推定の)要素数transformer
- 要素の変換を返す関数。変換がない場合はnull(その場合、値は結合されない)reducer
- 交換可能性と結合性を持つ結合関数- 戻り値:
- すべてのキーの指定された変換を累積した結果
- 導入されたバージョン:
- 1.8
-
reduceKeysToDouble
public double reduceKeysToDouble(long parallelismThreshold, ToDoubleFunction<? super K> transformer, double basis, DoubleBinaryOperator reducer) 指定されたリデューサを使用して値を結合し、指定された基準を識別値として使用して、すべてのキーの指定された変換の累積結果を返します。- パラメータ:
parallelismThreshold
- このオペレーションを並列的に実行するために必要な(推定の)要素数transformer
- 要素の変換を返す関数basis
- リダクションの識別(初期のデフォルト値)reducer
- 交換可能性と結合性を持つ結合関数- 戻り値:
- すべてのキーの指定された変換を累積した結果
- 導入されたバージョン:
- 1.8
-
reduceKeysToLong
public long reduceKeysToLong(long parallelismThreshold, ToLongFunction<? super K> transformer, long basis, LongBinaryOperator reducer) 指定されたリデューサを使用して値を結合し、指定された基準を識別値として使用して、すべてのキーの指定された変換の累積結果を返します。- パラメータ:
parallelismThreshold
- このオペレーションを並列的に実行するために必要な(推定の)要素数transformer
- 要素の変換を返す関数basis
- リダクションの識別(初期のデフォルト値)reducer
- 交換可能性と結合性を持つ結合関数- 戻り値:
- すべてのキーの指定された変換を累積した結果
- 導入されたバージョン:
- 1.8
-
reduceKeysToInt
public int reduceKeysToInt(long parallelismThreshold, ToIntFunction<? super K> transformer, int basis, IntBinaryOperator reducer) 指定されたリデューサを使用して値を結合し、指定された基準を識別値として使用して、すべてのキーの指定された変換の累積結果を返します。- パラメータ:
parallelismThreshold
- このオペレーションを並列的に実行するために必要な(推定の)要素数transformer
- 要素の変換を返す関数basis
- リダクションの識別(初期のデフォルト値)reducer
- 交換可能性と結合性を持つ結合関数- 戻り値:
- すべてのキーの指定された変換を累積した結果
- 導入されたバージョン:
- 1.8
-
forEachValue
各値に対して指定されたアクションを実行します。- パラメータ:
parallelismThreshold
- このオペレーションを並列的に実行するために必要な(推定の)要素数action
- アクション- 導入されたバージョン:
- 1.8
-
forEachValue
public <U> void forEachValue(long parallelismThreshold, Function<? super V, ? extends U> transformer, Consumer<? super U> action) 各値のnull以外の各変換に対して指定されたアクションを実行します。- 型パラメータ:
U
- トランスフォーマの戻り値の型- パラメータ:
parallelismThreshold
- このオペレーションを並列的に実行するために必要な(推定の)要素数transformer
- 要素の変換を返す関数。変換がない場合はnull(その場合、アクションは適用されない)action
- アクション- 導入されたバージョン:
- 1.8
-
searchValues
public <U> U searchValues(long parallelismThreshold, Function<? super V, ? extends U> searchFunction) 各値に指定された検索関数を適用したnull以外の結果を返します。結果がない場合はnullを返します。 成功した場合、その後の要素の処理は抑制され、検索関数の他の並列呼出しの結果は無視されます。- 型パラメータ:
U
- 検索関数の戻り値の型- パラメータ:
parallelismThreshold
- このオペレーションを並列的に実行するために必要な(推定の)要素数searchFunction
- 成功した場合はnull以外の結果を返し、それ以外の場合はnullを返す関数。- 戻り値:
- 各値に指定された検索関数を適用したnull以外の結果。存在しない場合はnull
- 導入されたバージョン:
- 1.8
-
reduceValues
public V reduceValues(long parallelismThreshold, BiFunction<? super V, ? super V, ? extends V> reducer) 指定されたリデューサを使用して値を結合することにより、すべての値の累積結果を返します。結果がない場合はnullを返します。- パラメータ:
parallelismThreshold
- このオペレーションを並列的に実行するために必要な(推定の)要素数reducer
- 交換可能性と結合性を持つ結合関数- 戻り値:
- すべての値を累積した結果
- 導入されたバージョン:
- 1.8
-
reduceValues
public <U> U reduceValues(long parallelismThreshold, Function<? super V, ? extends U> transformer, BiFunction<? super U, ? super U, ? extends U> reducer) 指定されたリデューサを使用して値を結合することにより、すべての値の指定された変換の累積結果を返します。結果がない場合はnullを返します。- 型パラメータ:
U
- トランスフォーマの戻り値の型- パラメータ:
parallelismThreshold
- このオペレーションを並列的に実行するために必要な(推定の)要素数transformer
- 要素の変換を返す関数。変換がない場合はnull(その場合、値は結合されない)reducer
- 交換可能性と結合性を持つ結合関数- 戻り値:
- すべての値の指定された変換を累積した結果
- 導入されたバージョン:
- 1.8
-
reduceValuesToDouble
public double reduceValuesToDouble(long parallelismThreshold, ToDoubleFunction<? super V> transformer, double basis, DoubleBinaryOperator reducer) 指定されたリデューサを使用して値を結合し、指定された基準を識別値として使用して、すべての値の指定された変換の累積結果を返します。- パラメータ:
parallelismThreshold
- このオペレーションを並列的に実行するために必要な(推定の)要素数transformer
- 要素の変換を返す関数basis
- リダクションの識別(初期のデフォルト値)reducer
- 交換可能性と結合性を持つ結合関数- 戻り値:
- すべての値の指定された変換を累積した結果
- 導入されたバージョン:
- 1.8
-
reduceValuesToLong
public long reduceValuesToLong(long parallelismThreshold, ToLongFunction<? super V> transformer, long basis, LongBinaryOperator reducer) 指定されたリデューサを使用して値を結合し、指定された基準を識別値として使用して、すべての値の指定された変換の累積結果を返します。- パラメータ:
parallelismThreshold
- このオペレーションを並列的に実行するために必要な(推定の)要素数transformer
- 要素の変換を返す関数basis
- リダクションの識別(初期のデフォルト値)reducer
- 交換可能性と結合性を持つ結合関数- 戻り値:
- すべての値の指定された変換を累積した結果
- 導入されたバージョン:
- 1.8
-
reduceValuesToInt
public int reduceValuesToInt(long parallelismThreshold, ToIntFunction<? super V> transformer, int basis, IntBinaryOperator reducer) 指定されたリデューサを使用して値を結合し、指定された基準を識別値として使用して、すべての値の指定された変換の累積結果を返します。- パラメータ:
parallelismThreshold
- このオペレーションを並列的に実行するために必要な(推定の)要素数transformer
- 要素の変換を返す関数basis
- リダクションの識別(初期のデフォルト値)reducer
- 交換可能性と結合性を持つ結合関数- 戻り値:
- すべての値の指定された変換を累積した結果
- 導入されたバージョン:
- 1.8
-
forEachEntry
各エントリに対して指定されたアクションを実行します。- パラメータ:
parallelismThreshold
- このオペレーションを並列的に実行するために必要な(推定の)要素数action
- アクション- 導入されたバージョン:
- 1.8
-
forEachEntry
public <U> void forEachEntry(long parallelismThreshold, Function<Map.Entry<K, V>, ? extends U> transformer, Consumer<? super U> action) 各エントリのnull以外の各変換に対して指定されたアクションを実行します。- 型パラメータ:
U
- トランスフォーマの戻り値の型- パラメータ:
parallelismThreshold
- このオペレーションを並列的に実行するために必要な(推定の)要素数transformer
- 要素の変換を返す関数。変換がない場合はnull(その場合、アクションは適用されない)action
- アクション- 導入されたバージョン:
- 1.8
-
searchEntries
public <U> U searchEntries(long parallelismThreshold, Function<Map.Entry<K, V>, ? extends U> searchFunction) 各エントリに指定された検索関数を適用したnull以外の結果を返します。結果がない場合はnullを返します。 成功した場合、その後の要素の処理は抑制され、検索関数の他の並列呼出しの結果は無視されます。- 型パラメータ:
U
- 検索関数の戻り値の型- パラメータ:
parallelismThreshold
- このオペレーションを並列的に実行するために必要な(推定の)要素数searchFunction
- 成功した場合はnull以外の結果を返し、それ以外の場合はnullを返す関数。- 戻り値:
- 各エントリに指定された検索関数を適用したnull以外の結果。存在しない場合はnull
- 導入されたバージョン:
- 1.8
-
reduceEntries
public Map.Entry<K,V> reduceEntries(long parallelismThreshold, BiFunction<Map.Entry<K, V>, Map.Entry<K, V>, ? extends Map.Entry<K, V>> reducer) 指定されたリデューサを使用して値を結合することにより、すべてのエントリの累積結果を返します。結果がない場合はnullを返します。- パラメータ:
parallelismThreshold
- このオペレーションを並列的に実行するために必要な(推定の)要素数reducer
- 交換可能性と結合性を持つ結合関数- 戻り値:
- すべてのエントリを累積した結果
- 導入されたバージョン:
- 1.8
-
reduceEntries
public <U> U reduceEntries(long parallelismThreshold, Function<Map.Entry<K, V>, ? extends U> transformer, BiFunction<? super U, ? super U, ? extends U> reducer) 指定されたリデューサを使用して値を結合することにより、すべてのエントリの指定された変換の累積結果を返します。結果がない場合はnullを返します。- 型パラメータ:
U
- トランスフォーマの戻り値の型- パラメータ:
parallelismThreshold
- このオペレーションを並列的に実行するために必要な(推定の)要素数transformer
- 要素の変換を返す関数。変換がない場合はnull(その場合、値は結合されない)reducer
- 交換可能性と結合性を持つ結合関数- 戻り値:
- すべてのエントリの指定された変換を累積した結果
- 導入されたバージョン:
- 1.8
-
reduceEntriesToDouble
public double reduceEntriesToDouble(long parallelismThreshold, ToDoubleFunction<Map.Entry<K, V>> transformer, double basis, DoubleBinaryOperator reducer) 指定されたリデューサを使用して値を結合し、指定された基準を識別値として使用して、すべてのエントリの指定された変換の累積結果を返します。- パラメータ:
parallelismThreshold
- このオペレーションを並列的に実行するために必要な(推定の)要素数transformer
- 要素の変換を返す関数basis
- リダクションの識別(初期のデフォルト値)reducer
- 交換可能性と結合性を持つ結合関数- 戻り値:
- すべてのエントリの指定された変換を累積した結果
- 導入されたバージョン:
- 1.8
-
reduceEntriesToLong
public long reduceEntriesToLong(long parallelismThreshold, ToLongFunction<Map.Entry<K, V>> transformer, long basis, LongBinaryOperator reducer) 指定されたリデューサを使用して値を結合し、指定された基準を識別値として使用して、すべてのエントリの指定された変換の累積結果を返します。- パラメータ:
parallelismThreshold
- このオペレーションを並列的に実行するために必要な(推定の)要素数transformer
- 要素の変換を返す関数basis
- リダクションの識別(初期のデフォルト値)reducer
- 交換可能性と結合性を持つ結合関数- 戻り値:
- すべてのエントリの指定された変換を累積した結果
- 導入されたバージョン:
- 1.8
-
reduceEntriesToInt
public int reduceEntriesToInt(long parallelismThreshold, ToIntFunction<Map.Entry<K, V>> transformer, int basis, IntBinaryOperator reducer) 指定されたリデューサを使用して値を結合し、指定された基準を識別値として使用して、すべてのエントリの指定された変換の累積結果を返します。- パラメータ:
parallelismThreshold
- このオペレーションを並列的に実行するために必要な(推定の)要素数transformer
- 要素の変換を返す関数basis
- リダクションの識別(初期のデフォルト値)reducer
- 交換可能性と結合性を持つ結合関数- 戻り値:
- すべてのエントリの指定された変換を累積した結果
- 導入されたバージョン:
- 1.8
-