言語

IConcurrentMap.IMap.ComputeIfAbsent(Object, IFunction) メソッド

定義

指定したキーがまだ値に関連付けられていない (または 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);

マッピング関数は、計算中にこのマップを変更しないでください。

Javaリファレンス。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象