Compartir a través de


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.IMap, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=24)]
public virtual Java.Lang.Object? 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.IMap, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=24)>]
abstract member Compute : Java.Lang.Object * Java.Util.Functions.IBiFunction -> Java.Lang.Object
override this.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

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). Por ejemplo, para crear o anexar un String mensaje msg a una asignación de valores:

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

(El método #merge 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.

Agregado en la versión 1.8.

Documentación de Java para java.util.Map.compute(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.

Se aplica a