IConcurrentMap.IMap.ComputeIfAbsent(Object, IFunction) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Se la chiave specificata non è già associata a un valore (o è mappata a null), tenta di calcolarne il valore usando la funzione di mapping specificata e la immette in questa mappa, a meno che non sia 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.Concurrent.IConcurrentMap, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=24)]
override sealed Java.Lang.Object? IMap.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.Concurrent.IConcurrentMap, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=24)>]
abstract member Java.Util.IMap.ComputeIfAbsent : Java.Lang.Object * Java.Util.Functions.IFunction -> Java.Lang.Object
override this.Java.Util.IMap.ComputeIfAbsent : Java.Lang.Object * Java.Util.Functions.IFunction -> Java.Lang.Object
Parametri
- key
- Object
chiave con cui deve essere associato il valore specificato
- mappingFunction
- IFunction
funzione di mapping per calcolare un valore
Valori restituiti
valore corrente (esistente o calcolato) associato alla chiave specificata oppure Null se il valore calcolato è Null
Implementazioni
- Attributi
Commenti
Se la chiave specificata non è già associata a un valore (o è mappata a null), tenta di calcolarne il valore usando la funzione di mapping specificata e la immette in questa mappa, a meno che non sia Null. Se la funzione di mapping restituisce Null, non viene registrato alcun mapping. Se la funzione di mapping stessa genera un'eccezione (deselezionata), l'eccezione viene rigenerata e non viene registrato alcun mapping.
Aggiunta nella versione 1.8.
L'utilizzo più comune consiste nel costruire un nuovo oggetto che funge da valore mappato iniziale o risultato memo, come in:
map.computeIfAbsent(key, k -> new Value(f(k)));
Oppure per implementare una mappa multivalore, Map<K,Collection<V>>, che supporta più valori per chiave:
map.computeIfAbsent(key, k -> new HashSet<V>()).add(v);
La funzione di mapping non deve modificare questa mappa durante il calcolo.
Java informazioni di riferimento per java.util.concurrent.ConcurrentMap.computeIfAbsent.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.