Langue

IMap.ComputeIfAbsent(Object, IFunction) Méthode

Définition

Si la clé spécifiée n’est pas déjà associée à une valeur (ou à nulllaquelle elle est mappée), 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.IMap, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=24)]
public virtual Java.Lang.Object? 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.IMap, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=24)>]
abstract member ComputeIfAbsent : Java.Lang.Object * Java.Util.Functions.IFunction -> Java.Lang.Object
override this.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

Attributs

Remarques

Si la clé spécifiée n’est pas déjà associée à une valeur (ou à nulllaquelle elle est mappée), 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é. L’utilisation la plus courante consiste à construire un nouvel objet servant de valeur mappée initiale ou de résultat mémorisé, comme dans :

{@code
            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é :

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

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

Ajouté dans la version 1.8.

Documentation Java pour java.util.Map.computeIfAbsent(K, java.util.function.Function<? super K, ? extends V>).

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

S’applique à