言語

IConcurrentMap.IMap.Compute(Object, IBiFunction) メソッド

定義

指定したキーとその現在のマップされた値のマッピングの計算を試みます (現在のマッピングがない場合は null)。

[Android.Runtime.Register("compute", "(Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;", "GetCompute_Ljava_lang_Object_Ljava_util_function_BiFunction_Handler:Java.Util.Concurrent.IConcurrentMap, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=24)]
override sealed Java.Lang.Object? IMap.Compute(Java.Lang.Object? key, Java.Util.Functions.IBiFunction? remappingFunction);
[<Android.Runtime.Register("compute", "(Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;", "GetCompute_Ljava_lang_Object_Ljava_util_function_BiFunction_Handler:Java.Util.Concurrent.IConcurrentMap, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=24)>]
abstract member Java.Util.IMap.Compute : Java.Lang.Object * Java.Util.Functions.IBiFunction -> Java.Lang.Object
override this.Java.Util.IMap.Compute : Java.Lang.Object * Java.Util.Functions.IBiFunction -> Java.Lang.Object

パラメーター

key
Object

指定した値を関連付けるキー

remappingFunction
IBiFunction

値を計算するための再マップ関数

返品

指定したキーに関連付けられている新しい値。ない場合は null

実装

属性

注釈

指定したキーとその現在のマップされた値のマッピングの計算を試みます (現在のマッピングがない場合は null)。

1.8 で追加されました。

たとえば、値マッピングに文字列メッセージを作成または追加するには、次のようにします。

map.compute(key, (k, v) -> (v == null) ? msg : v.concat(msg))

(多くの場合、メソッド merge() はこのような目的で使用する方が簡単です)。

再マップ関数が null を返した場合、マッピングは削除されます (または、最初に存在しない場合は存在しません)。

再マップ関数自体が (オフの) 例外をスローした場合、例外は再スローされ、現在のマッピングは変更されません。

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

Javaリファレンス。

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

適用対象