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>)。
本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。