IMap.ComputeIfAbsent(Object, IFunction) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Si la clave especificada aún no está asociada a un valor (o se asigna a null
), intenta calcular su valor mediante la función de asignación especificada y lo introduce en este mapa a menos null
que .
[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
Parámetros
- key
- Object
clave con la que se va a asociar el valor especificado
- mappingFunction
- IFunction
la función de asignación para calcular un valor
Devoluciones
el valor actual (existente o calculado) asociado a la clave especificada, o null si el valor calculado es NULL.
- Atributos
Comentarios
Si la clave especificada aún no está asociada a un valor (o se asigna a null
), intenta calcular su valor mediante la función de asignación especificada y lo introduce en este mapa a menos null
que .
Si la función de asignación devuelve null
, no se registra ninguna asignación. Si la propia función de asignación produce una excepción (desactivada), la excepción se vuelve a iniciar y no se registra ninguna asignación. El uso más común es construir un nuevo objeto que actúa como un valor asignado inicial o un resultado memoizado, como en:
{@code
map.computeIfAbsent(key, k -> new Value(f(k)));
}
O para implementar una asignación de varios valores, Map<K,Collection<V>>
, que admita varios valores por clave:
{@code
map.computeIfAbsent(key, k -> new HashSet<V>()).add(v);
}
La función de asignación no debe modificar este mapa durante el cálculo.
Se agregó en la versión 1.8.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código y se usan según los términos descritos en la creative Commons 2.5.