Condividi tramite


IMap.Compute(Object, IBiFunction) Metodo

Definizione

Tenta di calcolare un mapping per la chiave specificata e il relativo valore mappato corrente (o null se non è presente alcun mapping corrente).

[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

Parametri

key
Object

chiave con cui deve essere associato il valore specificato

remappingFunction
IBiFunction

funzione di mapping per calcolare un valore

Restituisce

nuovo valore associato alla chiave specificata oppure Null se non è presente alcun valore

Attributi

Commenti

Tenta di calcolare un mapping per la chiave specificata e il relativo valore mappato corrente (o null se non è presente alcun mapping corrente). Ad esempio, per creare o aggiungere un String msg a un mapping di valori:

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

Il metodo #merge merge() è spesso più semplice da usare per tali scopi.

Se la funzione di modifica del mapping restituisce null, il mapping viene rimosso (o rimane assente se inizialmente assente). Se la funzione di modifica del mapping genera un'eccezione (deselezionata), l'eccezione viene rigenerata e il mapping corrente rimane invariato.

La funzione di mapping non deve modificare questa mappa durante il calcolo.

Aggiunta nella versione 1.8.

Documentazione java per java.util.Map.compute(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>).

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.

Si applica a