Lenguaje

IConcurrentMap.IMap.Compute(Object, IBiFunction) Método

Definición

Intenta calcular una asignación para la clave especificada y su valor asignado actual (o null si no hay ninguna asignación actual).

[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

Parámetros

key
Object

clave con la que se va a asociar el valor especificado

remappingFunction
IBiFunction

la función de reasignación para calcular un valor

Devoluciones

nuevo valor asociado a la clave especificada o null si no existe

Implementaciones

Atributos

Comentarios

Intenta calcular una asignación para la clave especificada y su valor asignado actual (o null si no hay ninguna asignación actual).

Agregado en la versión 1.8.

Por ejemplo, para crear o anexar un mensaje de cadena a una asignación de valores:

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

(Método merge() suele ser más sencillo de usar para tales propósitos).

Si la función de reasignación devuelve null, la asignación se quita (o permanece ausente si está ausente inicialmente).

Si la propia función de reasignación produce una excepción (desactivada), la excepción se vuelve a iniciar y la asignación actual se deja sin cambios.

La función de reasignación no debe modificar este mapa durante el cálculo.

referencia Java referencia para java.util.concurrent.ConcurrentMap.compute.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Se aplica a