语言

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 中添加。

例如,若要创建字符串 msg 或将字符串 msg 追加到值映射中:

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

(方法合并()通常更易于用于此类目的。

如果重新映射函数返回 null,则删除映射(如果最初不存在,则保持不存在)。

如果重新映射函数本身引发(未选中)异常,则会重新引发异常,并且当前映射保持不变。

重新映射函数不应在计算过程中修改此映射。

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

本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。

适用于