IConcurrentMap.IMap.ComputeIfAbsent(Object, IFunction) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.