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.IMap, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=24)]
public virtual Java.Lang.Object? 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.IMap, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=24)>]
abstract member ComputeIfAbsent : Java.Lang.Object * Java.Util.Functions.IFunction -> Java.Lang.Object
override this.ComputeIfAbsent : Java.Lang.Object * Java.Util.Functions.IFunction -> Java.Lang.Object
パラメーター
- key
- Object
指定した値を関連付けるキー
- mappingFunction
- IFunction
値を計算するマッピング関数
戻り値
指定したキーに関連付けられている現在の (既存または計算済みの) 値。計算値が null の場合は null
- 属性
注釈
指定したキーがまだ値に関連付けられていない (または に null
マップされている) 場合は、指定されたマッピング関数を使用してその値の計算を試み、を除いて null
このマップに入力します。
マッピング関数が を返す null
場合、マッピングは記録されません。 マッピング関数自体が (オフの) 例外をスローした場合、例外は再スローされ、マッピングは記録されません。 最も一般的な使用方法は、次のように、初期マップ値またはメモ化された結果として機能する新しいオブジェクトを構築することです。
{@code
map.computeIfAbsent(key, k -> new Value(f(k)));
}
または、キーごとに複数の値をサポートする複数値マップ を実装するには、 Map<K,Collection<V>>
次のようにします。
{@code
map.computeIfAbsent(key, k -> new HashSet<V>()).add(v);
}
マッピング関数は、計算中にこのマップを変更しないでください。
1.8 で追加されました。
の Java ドキュメント java.util.Map.computeIfAbsent(K, java.util.function.Function<? super K, ? extends V>)
。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。