語言

IConcurrentMap.IMap.Compute(Object, IBiFunction) 方法

定義

嘗試計算指定鍵及其當前映射值的映射(若無當前映射則為空值)。

[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

重新映射函數用來計算一個值

傳回

與指定鍵相關聯的新值,若無則為空值

實作

屬性

備註

嘗試計算指定鍵及其當前映射值的映射(若無當前映射則為空值)。

新增於1.8版本。

例如,要建立或附加字串訊息到值映射:

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

(合併方法(Method merge()通常較簡單。)

若重映射函數回傳為空,則該映射將被移除(若初始缺失則保持缺席)。

如果重映射函式本身拋出(未勾選的)例外,該例外會被重新拋出,且目前的映射不變。

重新映射函數在計算過程中不應修改此映射。

Java 參考 java.util.concurrent.ConcurrentMap.compute。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於