クラスConcurrentHashMap<K,V>
- 型パラメータ:
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メソッドとは異なり、たとえば共有レジストリ内の値のスナップショット・サマリーを計算するときに、他のスレッドで並行して更新されるマップでも安全(かつ多くの場合適切に)適用されるように設計された一連の順次および並列の一括オペレーションをサポートします。 3種類の操作があり、それぞれに4つのフォームがあり、キー、値、エントリおよび(キー、値)のペアを引数または戻り値(あるいはその両方)として持つ関数を受け入れます。 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) 指定されたマップと同じマッピングで新しいマップを作成します。 -
メソッドのサマリー
修飾子と型メソッド説明voidclear()すべてのマッピングをマップから削除します。指定されたキーと現在マップされている値に対するマッピングの計算を試みます(現在のマッピングが存在しない場合はnull)。computeIfAbsent(K key, Function<? super K, ? extends V> mappingFunction) 指定されたキーがまだ値に関連付けられていない場合、指定されたマッピング関数を使用してその値の計算を試行し、nullでない場合はそれをこのマップに入力します。computeIfPresent(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction) 指定されたキーの値が存在する場合、キーと現在マップされている値から新しいマッピングの計算を試みます。boolean一部のキーがこの表の指定された値にマップされているかどうかをテストします。booleancontainsKey(Object key) 指定されたオブジェクトが、この表のキーかどうかを判定します。booleancontainsValue(Object value) このマップが1つまたは複数のキーと指定された値をマッピングしている場合にtrueを返します。elements()表にある値のリストを返します。entrySet()このマップに含まれるマッピングのSetビューを返します。boolean指定されたオブジェクトがこのマップと等しいかどうかを比較します。voidforEach(long parallelismThreshold, BiConsumer<? super K, ? super V> action) 各(key, value)に対して指定されたアクションを実行します。<U> voidforEach(long parallelismThreshold, BiFunction<? super K, ? super V, ? extends U> transformer, Consumer<? super U> action) 各(キー, 値)のnullでない各変換に対し、指定されたアクションを実行します。voidforEachEntry(long parallelismThreshold, Consumer<? super Map.Entry<K, V>> action) 各エントリに対して指定されたアクションを実行します。<U> voidforEachEntry(long parallelismThreshold, Function<Map.Entry<K, V>, ? extends U> transformer, Consumer<? super U> action) 各エントリのnull以外の各変換に対して指定されたアクションを実行します。voidforEachKey(long parallelismThreshold, Consumer<? super K> action) 各キーに対して指定されたアクションを実行します。<U> voidforEachKey(long parallelismThreshold, Function<? super K, ? extends U> transformer, Consumer<? super U> action) 各キーのnull以外の各変換に対して指定されたアクションを実行します。voidforEachValue(long parallelismThreshold, Consumer<? super V> action) 各値に対して指定されたアクションを実行します。<U> voidforEachValue(long parallelismThreshold, Function<? super V, ? extends U> transformer, Consumer<? super U> action) 各値のnull以外の各変換に対して指定されたアクションを実行します。指定されたキーがマップされている値を返します。そのキーのマッピングがこのマップに含まれていない場合はnullを返します。getOrDefault(Object key, V defaultValue) 指定されたキーがマップされる値を返します。このマップにそのキーのマッピングが含まれていない場合は、指定されたデフォルト値を返します。inthashCode()このMapのハッシュ・コード値(つまり、マップ内の各キーと値のペアのkey.hashCode() ^ value.hashCode()の合計)を返します。booleanisEmpty()このマップがキーと値のマッピングを保持しない場合に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> Ureduce(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> UreduceEntries(long parallelismThreshold, Function<Map.Entry<K, V>, ? extends U> transformer, BiFunction<? super U, ? super U, ? extends U> reducer) 指定されたリデューサを使用して値を結合することにより、すべてのエントリの指定された変換の累積結果を返します。結果がない場合はnullを返します。doublereduceEntriesToDouble(long parallelismThreshold, ToDoubleFunction<Map.Entry<K, V>> transformer, double basis, DoubleBinaryOperator reducer) 指定されたリデューサを使用して値を結合し、指定された基準を識別値として使用して、すべてのエントリの指定された変換の累積結果を返します。intreduceEntriesToInt(long parallelismThreshold, ToIntFunction<Map.Entry<K, V>> transformer, int basis, IntBinaryOperator reducer) 指定されたリデューサを使用して値を結合し、指定された基準を識別値として使用して、すべてのエントリの指定された変換の累積結果を返します。longreduceEntriesToLong(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> UreduceKeys(long parallelismThreshold, Function<? super K, ? extends U> transformer, BiFunction<? super U, ? super U, ? extends U> reducer) 指定されたリデューサを使用して値を結合することにより、すべてのキーの指定された変換の累積結果を返します。結果がない場合はnullを返します。doublereduceKeysToDouble(long parallelismThreshold, ToDoubleFunction<? super K> transformer, double basis, DoubleBinaryOperator reducer) 指定されたリデューサを使用して値を結合し、指定された基準を識別値として使用して、すべてのキーの指定された変換の累積結果を返します。intreduceKeysToInt(long parallelismThreshold, ToIntFunction<? super K> transformer, int basis, IntBinaryOperator reducer) 指定されたリデューサを使用して値を結合し、指定された基準を識別値として使用して、すべてのキーの指定された変換の累積結果を返します。longreduceKeysToLong(long parallelismThreshold, ToLongFunction<? super K> transformer, long basis, LongBinaryOperator reducer) 指定されたリデューサを使用して値を結合し、指定された基準を識別値として使用して、すべてのキーの指定された変換の累積結果を返します。doublereduceToDouble(long parallelismThreshold, ToDoubleBiFunction<? super K, ? super V> transformer, double basis, DoubleBinaryOperator reducer) 指定されたリデューサを使用して値を結合し、指定された基準を識別値として使用して、すべての(キー、値)ペアの指定された変換の累積結果を返します。intreduceToInt(long parallelismThreshold, ToIntBiFunction<? super K, ? super V> transformer, int basis, IntBinaryOperator reducer) 指定されたリデューサを使用して値を結合し、指定された基準を識別値として使用して、すべての(キー、値)ペアの指定された変換の累積結果を返します。longreduceToLong(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> UreduceValues(long parallelismThreshold, Function<? super V, ? extends U> transformer, BiFunction<? super U, ? super U, ? extends U> reducer) 指定されたリデューサを使用して値を結合することにより、すべての値の指定された変換の累積結果を返します。結果がない場合はnullを返します。doublereduceValuesToDouble(long parallelismThreshold, ToDoubleFunction<? super V> transformer, double basis, DoubleBinaryOperator reducer) 指定されたリデューサを使用して値を結合し、指定された基準を識別値として使用して、すべての値の指定された変換の累積結果を返します。intreduceValuesToInt(long parallelismThreshold, ToIntFunction<? super V> transformer, int basis, IntBinaryOperator reducer) 指定されたリデューサを使用して値を結合し、指定された基準を識別値として使用して、すべての値の指定された変換の累積結果を返します。longreduceValuesToLong(long parallelismThreshold, ToLongFunction<? super V> transformer, long basis, LongBinaryOperator reducer) 指定されたリデューサを使用して値を結合し、指定された基準を識別値として使用して、すべての値の指定された変換の累積結果を返します。キー(およびそれに対応する値)をこのマップから削除します。boolean指定された値にキーが現在マッピングされている場合にのみ、そのキーのエントリを削除します。キーが値に現在マッピングされている場合にのみ、そのキーのエントリを置換します。boolean指定された値にキーが現在マッピングされている場合にのみ、そのキーのエントリを置換します。<U> Usearch(long parallelismThreshold, BiFunction<? super K, ? super V, ? extends U> searchFunction) 指定された検索関数を各(キー、値)に適用し、nullでない結果を返します(存在しない場合はnull)。<U> UsearchEntries(long parallelismThreshold, Function<Map.Entry<K, V>, ? extends U> searchFunction) 各エントリに指定された検索関数を適用したnull以外の結果を返します。結果がない場合はnullを返します。<U> UsearchKeys(long parallelismThreshold, Function<? super K, ? extends U> searchFunction) 各キーに指定された検索関数を適用したnull以外の結果を返します。結果がない場合はnullを返します。<U> UsearchValues(long parallelismThreshold, Function<? super V, ? extends U> searchFunction) 各値に指定された検索関数を適用したnull以外の結果を返します。結果がない場合はnullを返します。intsize()このマップ内のキー値マッピングの数を返します。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
-
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
-
isEmpty
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-