IConcurrentMap.IMap.ComputeIfAbsent(Object, IFunction) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定したキーがまだ値に関連付けられていない (または null にマップされている) 場合は、指定されたマッピング関数を使用してその値の計算を試み、null でない限り、このマップに入力します。
[Android.Runtime.Register("computeIfAbsent", "(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;", "GetComputeIfAbsent_Ljava_lang_Object_Ljava_util_function_Function_Handler:Java.Util.Concurrent.IConcurrentMap, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=24)]
override sealed Java.Lang.Object? IMap.ComputeIfAbsent(Java.Lang.Object? key, Java.Util.Functions.IFunction? mappingFunction);
[<Android.Runtime.Register("computeIfAbsent", "(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;", "GetComputeIfAbsent_Ljava_lang_Object_Ljava_util_function_Function_Handler:Java.Util.Concurrent.IConcurrentMap, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=24)>]
abstract member Java.Util.IMap.ComputeIfAbsent : Java.Lang.Object * Java.Util.Functions.IFunction -> Java.Lang.Object
override this.Java.Util.IMap.ComputeIfAbsent : Java.Lang.Object * Java.Util.Functions.IFunction -> Java.Lang.Object
パラメーター
- key
- Object
指定した値を関連付けるキー
- mappingFunction
- IFunction
値を計算するマッピング関数
返品
指定したキーに関連付けられている現在の (既存または計算された) 値。計算値が null の場合は null
実装
- 属性
注釈
指定したキーがまだ値に関連付けられていない (または null にマップされている) 場合は、指定されたマッピング関数を使用してその値の計算を試み、null でない限り、このマップに入力します。 マッピング関数が null を返す場合、マッピングは記録されません。 マッピング関数自体が (オフの) 例外をスローした場合、例外は再スローされ、マッピングは記録されません。
1.8 で追加されました。
最も一般的な使用方法は、次のように、最初のマップされた値またはメモ化された結果として機能する新しいオブジェクトを構築することです。
map.computeIfAbsent(key, k -> new Value(f(k)));
または、複数値マップ Map<K、Collection<V>> を実装し、キーごとに複数の値をサポートします。
map.computeIfAbsent(key, k -> new HashSet<V>()).add(v);
マッピング関数は、計算中にこのマップを変更しないでください。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。