IConcurrentMap.IMap.ComputeIfAbsent(Object, IFunction) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Wenn der angegebene Schlüssel noch nicht einem Wert zugeordnet ist (oder null zugeordnet ist), versucht, seinen Wert mithilfe der angegebenen Zuordnungsfunktion zu berechnen und in diese Zuordnung 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.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
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.
Implementiert
- Attribute
Hinweise
Wenn der angegebene Schlüssel noch nicht einem Wert zugeordnet ist (oder null zugeordnet ist), versucht, seinen Wert mithilfe der angegebenen Zuordnungsfunktion zu berechnen und in diese Zuordnung einzugeben, es sei denn, null. Wenn die Zuordnungsfunktion NULL zurückgibt, 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.
Hinzugefügt in 1.8.
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:
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:
map.computeIfAbsent(key, k -> new HashSet<V>()).add(v);
Die Zuordnungsfunktion sollte diese Zuordnung während der Berechnung nicht ändern.
Java Referenz für java.util.concurrent.ConcurrentMap.computeIfAbsent.
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.