Langue

IConcurrentMap.IMap.ComputeIfAbsent(Object, IFunction) Méthode

Définition

Si la clé spécifiée n’est pas déjà associée à une valeur (ou est mappée à null), tente de calculer sa valeur à l’aide de la fonction de mappage donnée et l’entre dans cette carte, sauf si 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

Paramètres

key
Object

clé avec laquelle la valeur spécifiée doit être associée

mappingFunction
IFunction

fonction de mappage pour calculer une valeur

Retours

valeur actuelle (existante ou calculée) associée à la clé spécifiée, ou null si la valeur calculée est Null

Implémente

Attributs

Remarques

Si la clé spécifiée n’est pas déjà associée à une valeur (ou est mappée à null), tente de calculer sa valeur à l’aide de la fonction de mappage donnée et l’entre dans cette carte, sauf si null. Si la fonction de mappage retourne null, aucun mappage n’est enregistré. Si la fonction de mappage elle-même lève une exception (décochée), l’exception est réexécutée et aucun mappage n’est enregistré.

Ajouté dans la version 1.8.

L’utilisation la plus courante consiste à construire un nouvel objet servant de valeur mappée initiale ou de résultat mémorisé, comme dans :

map.computeIfAbsent(key, k -> new Value(f(k)));

Ou pour implémenter un mappage à valeurs multiples, Map<K,Collection<V>>, prenant en charge plusieurs valeurs par clé :

map.computeIfAbsent(key, k -> new HashSet<V>()).add(v);

La fonction de mappage ne doit pas modifier cette carte pendant le calcul.

Java référence pour java.util.concurrent.ConcurrentMap.computeIfAbsent.

Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.

S’applique à