Sprache

IMap.ComputeIfAbsent(Object, IFunction) Methode

Definition

Wenn der angegebene Schlüssel noch nicht einem Wert zugeordnet ist (oder diesem zugeordnet nullist), versucht, seinen Wert mithilfe der angegebenen Zuordnungsfunktion zu berechnen und es in diese Karte einzugeben, es sei denn 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

Parameter

key
Object

Schlüssel, dem der angegebene Wert zugeordnet werden soll

mappingFunction
IFunction

die Zuordnungsfunktion zum Berechnen eines Werts

Gibt zurück

der aktuelle (vorhandene oder berechnete) Wert, der dem angegebenen Schlüssel zugeordnet ist, oder null, wenn der berechnete Wert null ist.

Attribute

Hinweise

Wenn der angegebene Schlüssel noch nicht einem Wert zugeordnet ist (oder diesem zugeordnet nullist), versucht, seinen Wert mithilfe der angegebenen Zuordnungsfunktion zu berechnen und es in diese Karte einzugeben, es sei denn null.

Wenn die Zuordnungsfunktion zurückgegeben wird null, wird keine Zuordnung aufgezeichnet. Wenn die Zuordnungsfunktion selbst eine (deaktivierte) Ausnahme auslöst, wird die Ausnahme erneut ausgelöst, und es wird keine Zuordnung aufgezeichnet. Die am häufigsten verwendete Verwendung besteht darin, ein neues Objekt zu erstellen, das als anfänglich zugeordneter Wert oder als memoisiertes Ergebnis dient, wie in:

{@code
            map.computeIfAbsent(key, k -> new Value(f(k)));
            }

Oder um eine Mehrwertzuordnung zu implementieren, Map<K,Collection<V>>die mehrere Werte pro Schlüssel unterstützt:

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

Die Zuordnungsfunktion sollte diese Zuordnung während der Berechnung nicht ändern.

Hinzugefügt in 1.8.

Java Dokumentation für java.util.Map.computeIfAbsent(K, java.util.function.Function<? super K, ? extends V>).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für: