Freigeben über


ConcurrentHashMap Klasse

Definition

Eine Hashtabelle, die die vollständige Parallelität von Abrufen und eine hohe erwartete Parallelität für Updates unterstützt.

[Android.Runtime.Register("java/util/concurrent/ConcurrentHashMap", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "K", "V" })]
public class ConcurrentHashMap : Java.Util.AbstractMap, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable, Java.Util.Concurrent.IConcurrentMap
[<Android.Runtime.Register("java/util/concurrent/ConcurrentHashMap", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "K", "V" })>]
type ConcurrentHashMap = class
    inherit AbstractMap
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface IConcurrentMap
    interface IMap
Vererbung
ConcurrentHashMap
Attribute
Implementiert

Hinweise

Eine Hashtabelle, die die vollständige Parallelität von Abrufen und eine hohe erwartete Parallelität für Updates unterstützt. Diese Klasse gehorcht derselben funktionalen Spezifikation wie java.util.Hashtable, und enthält Versionen von Methoden, die jeder Methode entsprechen Hashtable. Obwohl alle Vorgänge threadsicher sind, beinhalten Abrufvorgänge <><keine/em> Sperren, und es gibt <keine><> Unterstützung für die Sperre der gesamten Tabelle in einer Weise, die den gesamten Zugriff verhindert. Diese Klasse ist vollständig in Hashtable Programmen kompatibel, die auf ihre Threadsicherheit, aber nicht auf die Synchronisierungsdetails angewiesen sind.

Abrufvorgänge (einschließlich get) blockieren im Allgemeinen nicht, sodass sie sich mit Aktualisierungsvorgängen (einschließlich put und remove) überlappen können. Abrufe spiegeln die Ergebnisse der zuletzt <abgeschlossenen< em>/em-Aktualisierungsvorgänge> wider, die beim Beginn des Vorgangs ausgeführt werden. (Formalererweise trägt ein Aktualisierungsvorgang für einen bestimmten Schlüssel eine <em-happens-before></em-Beziehung> mit jedem (nicht null) Abruf für diesen Schlüssel, der den aktualisierten Wert meldet.) Bei aggregierten Vorgängen wie putAll z. B. und cleargleichzeitigen Abrufen kann das Einfügen oder Entfernen von nur einigen Einträgen widergespiegelt werden. Ebenso geben Iteratoren, Spliteratoren und Enumerationen Elemente zurück, die den Zustand der Hashtabelle an einem bestimmten Punkt an oder seit der Erstellung des Iterators/der Enumeration widerspiegeln. Sie werden <nicht></em> werfen java.util.ConcurrentModificationException ConcurrentModificationException. Iteratoren sind jedoch so konzipiert, dass sie jeweils nur von einem Thread verwendet werden. Beachten Sie, dass die Ergebnisse von Aggregatstatusmethoden, einschließlich sizeisEmpty, und containsValue in der Regel nur nützlich sind, wenn eine Karte keine gleichzeitigen Aktualisierungen in anderen Threads durchläuft. Andernfalls spiegeln die Ergebnisse dieser Methoden vorübergehende Zustände wider, die für Überwachungs- oder Schätzungszwecke geeignet sein können, aber nicht für die Programmsteuerung.

Die Tabelle wird dynamisch erweitert, wenn zu viele Kollisionen vorhanden sind (d. h. Schlüssel, die unterschiedliche Hashcodes aufweisen, aber in das gleiche Slotmodul fallen, die Tabellengröße), wobei der erwartete durchschnittliche Effekt der Aufrechterhaltung von ungefähr zwei Bins pro Zuordnung (entspricht einem 0,75-Lastenfaktorschwellenwert für größenänderung). Es kann eine große Varianz um diesen Durchschnitt geben, da Zuordnungen hinzugefügt und entfernt werden, aber insgesamt behält dies einen allgemein akzeptierten Zeit-/Raum-Kompromiss für Hashtabellen bei. Das Ändern der Größe dieser oder einer anderen Art von Hashtabelle kann jedoch ein relativ langsamer Vorgang sein. Wenn möglich, empfiehlt es sich, eine Größenschätzung als optionales initialCapacity Konstruktorargument bereitzustellen. Ein zusätzliches optionales loadFactor Konstruktorargument bietet ein weiteres Mittel zum Anpassen der Anfangstabellenkapazität, indem die Tabellendichte angegeben wird, die bei der Berechnung des Zuteilungsraums für die angegebene Anzahl von Elementen verwendet werden soll. Aus Gründen der Kompatibilität mit früheren Versionen dieser Klasse können Konstruktoren optional einen erwarteten concurrencyLevel Hinweis für die interne Größenanpassung angeben. Beachten Sie, dass die Verwendung vieler Schlüssel mit genau demselben hashCode() eine sichere Möglichkeit ist, die Leistung jeder Hashtabelle zu verlangsamen. Um die Auswirkungen zu verbessern, kann diese Klasse bei Schlüsseln Comparabledie Vergleichsreihenfolge zwischen Schlüsseln verwenden, um Verbindungen zu unterbrechen.

Eine Set Projektion einer gleichzeitigenHashMap kann erstellt (mit #newKeySet() oder #newKeySet(int)) oder angezeigt werden (wenn #keySet(Object) nur Schlüssel von Interesse sind, und die zugeordneten Werte werden (möglicherweise vorübergehend) nicht verwendet oder alle nehmen denselben Zuordnungswert.

Eine gleichzeitigeHashMap kann als skalierbare Häufigkeitszuordnung (eine Form von Histogramm oder Multiset) mithilfe von java.util.concurrent.atomic.LongAdder Werten und Initialisierung über #computeIfAbsent computeIfAbsentverwendet werden. Wenn Sie z. B. einer ConcurrentHashMap<String,LongAdder> freqsZählung eine Zählung hinzufügen möchten, können Sie freqs.computeIfAbsent(key, k -> new LongAdder()).increment();

Diese Klasse und ihre Ansichten und Iteratoren implementieren alle <>optionalen</em-Methoden> der Map Und Iterator Schnittstellen.

Wie Hashtable aber im Gegensatz HashMapdazu lässt <null>sich diese Klasse nicht</em> als Schlüssel oder Wert verwenden.

GleichzeitigeHashMaps unterstützen eine Reihe sequenzieller und paralleler Massenvorgänge, die im Gegensatz zu den meisten Stream Methoden sicher und häufig sinnvoll angewendet werden, auch bei Karten, die gleichzeitig von anderen Threads aktualisiert werden, z. B. beim Berechnen einer Momentaufnahmezusammenfassung der Werte in einer freigegebenen Registrierung. Es gibt drei Arten von Vorgängen, jeweils mit vier Formularen, das Akzeptieren von Funktionen mit Schlüsseln, Werten, Einträgen und (Schlüssel, Wert) Paaren als Argumente und/oder Rückgabewerte. Da die Elemente einer gleichzeitigenHashMap nicht in einer bestimmten Weise sortiert sind und in unterschiedlichen Reihenfolgen in unterschiedlichen parallelen Ausführungen verarbeitet werden können, sollte die Richtigkeit der bereitgestellten Funktionen nicht von einer Sortierung oder von anderen Objekten oder Werten abhängen, die sich vorübergehend ändern können, während die Berechnung ausgeführt wird; und mit Ausnahme von Aktionen vonEach sollte idealerweise nebeneffektfrei sein. Massenvorgänge für Map.Entry Objekte unterstützen keine Methode setValue.

<ul><li>forEach: Führt eine bestimmte Aktion für jedes Element aus. Ein Variantenformular wendet eine bestimmte Transformation auf jedes Element an, bevor die Aktion ausgeführt wird.

<li>search: Returns the first available non-null result of applying a given function on each element; skippping further search when a result is found.

<li>reduzieren: Kumuliert jedes Element. Die bereitgestellte Reduktionsfunktion kann nicht auf die Sortierung angewiesen werden (formaler, es sollte sowohl assoziativ als auch kommutativ sein). Es gibt fünf Varianten:

<ul>

<li>Plain Reduktionen. (Es gibt keine Form dieser Methode für Funktionsargumente (Schlüssel, Wert), da kein entsprechender Rückgabetyp vorhanden ist.)

<li>Zugeordnete Reduzierungen, die die Ergebnisse einer bestimmten Funktion sammeln, die auf jedes Element angewendet wird.

<li>Reduktion auf Skalare Doubles, Longs und Ints unter Verwendung eines bestimmten Basiswerts.

</ul></ul>

Diese Massenvorgänge akzeptieren ein parallelismThreshold Argument. Methoden werden sequenziell fortgesetzt, wenn die aktuelle Kartengröße als kleiner als der angegebene Schwellenwert geschätzt wird. Die Verwendung eines Werts von Long.MAX_VALUE "Unterdrückt alle Parallelität". Die Verwendung eines Werts von 1 Ergebnissen in maximaler Parallelität durch Partitionieren in genügend Teilvorgänge, um die ForkJoinPool#commonPool() für alle parallelen Berechnungen verwendeten Vollständig zu nutzen. Normalerweise würden Sie zunächst einen dieser Extremwerte auswählen und dann die Leistung der Verwendung von Zwischenwerten messen, die den Overhead im Vergleich zum Durchsatz beeinträchtigen.

Die Parallelitätseigenschaften von Massenvorgängen folgen denen von ConcurrentHashMap: Jedes nicht null zurückgegebene Ergebnis, das von get(key) und verwandten Zugriffsmethoden zurückgegeben wird, trägt eine "happens-before"-Beziehung mit der zugeordneten Einfügung oder Aktualisierung. Das Ergebnis eines Massenvorgangs spiegelt die Zusammensetzung dieser Pro-Element-Beziehungen wider (ist jedoch nicht notwendigerweise atomar in Bezug auf die Karte als Ganzes, es sei denn, es ist irgendwie bekannt, dass sie stillstehend ist). Umgekehrt dient null, da Schlüssel und Werte in der Karte nie null sind, dient null als zuverlässiger atomer Indikator des aktuellen Mangels an Ergebnissen. Um diese Eigenschaft beizubehalten, dient NULL als implizite Basis für alle nicht skalaren Reduktionsvorgänge. Bei doppelten, langen und int-Versionen sollte die Basis eine sein, die in Kombination mit einem anderen Wert diesen anderen Wert zurückgibt (formaler, es sollte das Identitätselement für die Reduktion sein). Die häufigsten Reduktionen haben diese Eigenschaften; Beispielsweise wird eine Summe mit Basis 0 oder einem Minimum mit Basis MAX_VALUE berechnet.

Such- und Transformationsfunktionen, die als Argumente bereitgestellt werden, sollten auf ähnliche Weise NULL zurückgeben, um auf das Fehlen eines Ergebnisses hinzuweisen (in diesem Fall wird sie nicht verwendet). Im Falle von zugeordneten Reduktionen ermöglicht dies auch transformationen, als Filter zu dienen, null zurückzugeben (oder im Falle von Grundtypspezialisierungen die Identitätsbasis), wenn das Element nicht kombiniert werden soll. Sie können zusammengesetzte Transformationen und Filter erstellen, indem Sie sie selbst unter dieser "Null bedeutet, dass es jetzt nichts gibt", bevor Sie sie in Suchvorgängen verwenden oder Vorgänge reduzieren.

Methoden, die Eingabeargumente akzeptieren und/oder zurückgeben, behalten Zuordnungen zwischen Schlüsselwertwerten. Sie können z. B. hilfreich sein, wenn Sie den Schlüssel für den größten Wert finden. Beachten Sie, dass eingabeargumente mit "plain" angegeben new AbstractMap.SimpleEntry(k,v)werden können.

Massenvorgänge können abrupt abgeschlossen werden, wobei eine Ausnahme in der Anwendung einer bereitgestellten Funktion ausgelöst wird. Beachten Sie bei der Behandlung solcher Ausnahmen, dass andere gleichzeitig ausgeführte Funktionen auch Ausnahmen ausgelöst haben könnten oder wenn die erste Ausnahme nicht aufgetreten wäre.

Geschwindigkeiten für parallele Vergleiche mit sequenziellen Formen sind häufig, aber nicht garantiert. Parallele Vorgänge mit kurzen Funktionen auf kleinen Karten können langsamer als sequenzielle Formulare ausgeführt werden, wenn die zugrunde liegende Arbeit zur Parallelisierung der Berechnung teurer ist als die Berechnung selbst. In ähnlicher Weise kann die Parallelisierung nicht zu einer viel tatsächlichen Parallelität führen, wenn alle Prozessoren nicht verwandte Aufgaben ausführen.

Alle Argumente für alle Vorgangsmethoden müssen ungleich NULL sein.

Diese Klasse ist ein Mitglied des Java Collections Framework.

Hinzugefügt in 1.5.

Java-Dokumentation für java.util.concurrent.ConcurrentHashMap.

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Konstruktoren

ConcurrentHashMap()

Erstellt eine neue, leere Karte mit der Standardgröße der Anfangstabelle (16).

ConcurrentHashMap(IDictionary)

Erstellt eine neue Karte mit den gleichen Zuordnungen wie die angegebene Karte.

ConcurrentHashMap(Int32)

Erstellt eine neue, leere Karte mit einer anfänglichen Tabellengröße, die die angegebene Anzahl von Elementen enthält, ohne die Größe dynamisch zu ändern.

ConcurrentHashMap(Int32, Single)

Erstellt eine neue, leere Karte mit einer anfänglichen Tabellengröße basierend auf der angegebenen Anzahl von Elementen (initialCapacity) und der anfänglichen Tabellendichte (loadFactor).

ConcurrentHashMap(Int32, Single, Int32)

Erstellt eine neue, leere Karte mit einer anfänglichen Tabellengröße basierend auf der angegebenen Anzahl von Elementen (initialCapacity), der anfänglichen Tabellendichte (loadFactor) und der Anzahl der gleichzeitig aktualisierten Threads (concurrencyLevel).

ConcurrentHashMap(IntPtr, JniHandleOwnership)

Ein Konstruktor, der beim Erstellen verwalteter Darstellungen von JNI-Objekten verwendet wird; wird von der Laufzeit aufgerufen.

Eigenschaften

Class

Gibt die Laufzeitklasse dieses Werts Objectzurück.

(Geerbt von Object)
Handle

Das Handle für die zugrunde liegende Android-Instanz.

(Geerbt von Object)
IsEmpty

So wird's hinzugefügt

(Geerbt von AbstractMap)
JniIdentityHashCode

Eine Hashtabelle, die die vollständige Parallelität von Abrufen und eine hohe erwartete Parallelität für Updates unterstützt.

(Geerbt von Object)
JniPeerMembers

Eine Hashtabelle, die die vollständige Parallelität von Abrufen und eine hohe erwartete Parallelität für Updates unterstützt.

PeerReference

Eine Hashtabelle, die die vollständige Parallelität von Abrufen und eine hohe erwartete Parallelität für Updates unterstützt.

(Geerbt von Object)
ThresholdClass

Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen.

ThresholdType

Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen.

Methoden

Clear()

So wird's hinzugefügt

(Geerbt von AbstractMap)
Clone()

Erstellt und gibt eine Kopie dieses Objekts zurück.

(Geerbt von Object)
Compute(Object, IBiFunction)

Versucht, eine Zuordnung für den angegebenen Schlüssel und den aktuellen zugeordneten Wert (oder null wenn keine aktuelle Zuordnung vorhanden ist) zu berechnen.

ComputeIfAbsent(Object, IFunction)

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

ComputeIfPresent(Object, IBiFunction)

Wenn der Wert für den angegebenen Schlüssel vorhanden ist, wird versucht, eine neue Zuordnung anhand des Schlüssels und des aktuellen zugeordneten Werts zu berechnen.

Contains(Object)

Testet, ob einige Schlüssel dem angegebenen Wert in dieser Tabelle zugeordnet sind.

ContainsKey(Object)

So wird's hinzugefügt

(Geerbt von AbstractMap)
ContainsValue(Object)

So wird's hinzugefügt

(Geerbt von AbstractMap)
Dispose()

Eine Hashtabelle, die die vollständige Parallelität von Abrufen und eine hohe erwartete Parallelität für Updates unterstützt.

(Geerbt von Object)
Dispose(Boolean)

Eine Hashtabelle, die die vollständige Parallelität von Abrufen und eine hohe erwartete Parallelität für Updates unterstützt.

(Geerbt von Object)
Elements()

Gibt eine Aufzählung der Werte in dieser Tabelle zurück.

EntrySet()

Gibt eine Set Ansicht der In dieser Karte enthaltenen Zuordnungen zurück.

Equals(Object)

Gibt an, ob ein anderes Objekt "gleich" diesem Objekt ist.

(Geerbt von Object)
ForEach(IBiConsumer)

Führt die angegebene Aktion für jeden (Schlüssel, Wert) aus.

ForEach(Int64, IBiConsumer)

Führt die angegebene Aktion für jeden (Schlüssel, Wert) aus.

ForEach(Int64, IBiFunction, IConsumer)

Führt die angegebene Aktion für jede Nicht-Null-Transformation der einzelnen Transformationen (Schlüssel, Wert) aus.

ForEachEntry(Int64, IConsumer)

Führt die angegebene Aktion für jeden Eintrag aus.

ForEachEntry(Int64, IFunction, IConsumer)

Führt die angegebene Aktion für jede Nicht-Null-Transformation jedes Eintrags aus.

ForEachKey(Int64, IConsumer)

Führt die angegebene Aktion für jeden Schlüssel aus.

ForEachKey(Int64, IFunction, IConsumer)

Führt die angegebene Aktion für jede Nicht-Null-Transformation jedes Schlüssels aus.

ForEachValue(Int64, IConsumer)

Führt die angegebene Aktion für jeden Wert aus.

ForEachValue(Int64, IFunction, IConsumer)

Führt die angegebene Aktion für jede Nicht-Null-Transformation jedes Werts aus.

Get(Object)

So wird's hinzugefügt

(Geerbt von AbstractMap)
GetHashCode()

Gibt einen Hashcodewert für das Objekt zurück.

(Geerbt von Object)
GetOrDefault(Object, Object)

Gibt den Wert zurück, dem der angegebene Schlüssel zugeordnet ist, oder den angegebenen Standardwert, wenn diese Karte keine Zuordnung für den Schlüssel enthält.

JavaFinalize()

Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection bestimmt, dass keine weiteren Verweise auf das Objekt vorhanden sind.

(Geerbt von Object)
Keys()

Gibt eine Aufzählung der Schlüssel in dieser Tabelle zurück.

KeySet()

So wird's hinzugefügt

(Geerbt von AbstractMap)
MappingCount()

Gibt die Anzahl der Zuordnungen zurück.

Merge(Object, Object, IBiFunction)

Wenn der angegebene Schlüssel nicht bereits einem (nicht null) Wert zugeordnet ist, wird er dem angegebenen Wert zugeordnet.

Notify()

Aktiviert einen einzelnen Thread, der auf dem Monitor dieses Objekts wartet.

(Geerbt von Object)
NotifyAll()

Aktiviert alle Threads, die auf dem Monitor dieses Objekts warten.

(Geerbt von Object)
Put(Object, Object)

So wird's hinzugefügt

(Geerbt von AbstractMap)
PutAll(IDictionary)

So wird's hinzugefügt

(Geerbt von AbstractMap)
PutIfAbsent(Object, Object)

So wird's hinzugefügt

Reduce(Int64, IBiFunction, IBiFunction)

Gibt das Ergebnis der Akkumulation der angegebenen Transformation aller (Schlüssel- und Wert)-Paare zurück, die den angegebenen Reduzierungsregler zum Kombinieren von Werten oder null verwenden, wenn keines vorhanden ist.

ReduceEntries(Int64, IBiFunction)

Gibt das Ergebnis des Sammelns aller Einträge zurück, die den angegebenen Reduzierter verwenden, um Werte zu kombinieren, oder null, wenn keines vorhanden ist.

ReduceEntries(Int64, IFunction, IBiFunction)

Gibt das Ergebnis der Akkumulation der angegebenen Transformation aller Einträge zurück, die den angegebenen Verkürzungswert verwenden, um Werte zu kombinieren, oder null, wenn keines vorhanden ist.

ReduceEntriesToDouble(Int64, IToDoubleFunction, Double, IDoubleBinaryOperator)

Gibt das Ergebnis der Akkumulation der angegebenen Transformation aller Einträge zurück, die den angegebenen Reduzierungswert verwenden, um Werte zu kombinieren, und die angegebene Basis als Identitätswert.

ReduceEntriesToInt(Int64, IToIntFunction, Int32, IIntBinaryOperator)

Gibt das Ergebnis der Akkumulation der angegebenen Transformation aller Einträge zurück, die den angegebenen Reduzierungswert verwenden, um Werte zu kombinieren, und die angegebene Basis als Identitätswert.

ReduceEntriesToLong(Int64, IToLongFunction, Int64, ILongBinaryOperator)

Gibt das Ergebnis der Akkumulation der angegebenen Transformation aller Einträge zurück, die den angegebenen Reduzierungswert verwenden, um Werte zu kombinieren, und die angegebene Basis als Identitätswert.

ReduceKeys(Int64, IBiFunction)

Gibt das Ergebnis der Akkumulation aller Schlüssel zurück, die den angegebenen Reduzierter verwenden, um Werte zu kombinieren, oder null, wenn keines vorhanden ist.

ReduceKeys(Int64, IFunction, IBiFunction)

Gibt das Ergebnis der Akkumulation der angegebenen Transformation aller Schlüssel zurück, die den angegebenen Reduzierter verwenden, um Werte zu kombinieren, oder null, wenn keines vorhanden ist.

ReduceKeysToDouble(Int64, IToDoubleFunction, Double, IDoubleBinaryOperator)

Gibt das Ergebnis der Akkumulation der angegebenen Transformation aller Schlüssel zurück, die den angegebenen Reduktionsgeber zum Kombinieren von Werten und die angegebene Basis als Identitätswert verwenden.

ReduceKeysToInt(Int64, IToIntFunction, Int32, IIntBinaryOperator)

Gibt das Ergebnis der Akkumulation der angegebenen Transformation aller Schlüssel zurück, die den angegebenen Reduktionsgeber zum Kombinieren von Werten und die angegebene Basis als Identitätswert verwenden.

ReduceKeysToLong(Int64, IToLongFunction, Int64, ILongBinaryOperator)

Gibt das Ergebnis der Akkumulation der angegebenen Transformation aller Schlüssel zurück, die den angegebenen Reduktionsgeber zum Kombinieren von Werten und die angegebene Basis als Identitätswert verwenden.

ReduceToDouble(Int64, IToDoubleBiFunction, Double, IDoubleBinaryOperator)

Gibt das Ergebnis der Akkumulation der angegebenen Transformation aller (Schlüssel-, Wert)-Paare zurück, wobei der angegebene Reduzierungsregler Werte kombiniert, und die angegebene Basis als Identitätswert.

ReduceToInt(Int64, IToIntBiFunction, Int32, IIntBinaryOperator)

Gibt das Ergebnis der Akkumulation der angegebenen Transformation aller (Schlüssel-, Wert)-Paare zurück, wobei der angegebene Reduzierungsregler Werte kombiniert, und die angegebene Basis als Identitätswert.

ReduceToLong(Int64, IToLongBiFunction, Int64, ILongBinaryOperator)

Gibt das Ergebnis der Akkumulation der angegebenen Transformation aller (Schlüssel-, Wert)-Paare zurück, wobei der angegebene Reduzierungsregler Werte kombiniert, und die angegebene Basis als Identitätswert.

ReduceValues(Int64, IBiFunction)

Gibt das Ergebnis zurück, das alle Werte mit dem angegebenen Reduzierungselement zum Kombinieren von Werten oder null enthält, wenn keines vorhanden ist.

ReduceValues(Int64, IFunction, IBiFunction)

Gibt das Ergebnis der Akkumulation der angegebenen Transformation aller Werte zurück, wobei der angegebene Reduzierungsgeber verwendet wird, um Werte zu kombinieren, oder null, wenn keines vorhanden ist.

ReduceValuesToDouble(Int64, IToDoubleFunction, Double, IDoubleBinaryOperator)

Gibt das Ergebnis der Akkumulation der angegebenen Transformation aller Werte zurück, die den angegebenen Reduzierungswert zum Kombinieren von Werten und die angegebene Basis als Identitätswert verwenden.

ReduceValuesToInt(Int64, IToIntFunction, Int32, IIntBinaryOperator)

Gibt das Ergebnis der Akkumulation der angegebenen Transformation aller Werte zurück, die den angegebenen Reduzierungswert zum Kombinieren von Werten und die angegebene Basis als Identitätswert verwenden.

ReduceValuesToLong(Int64, IToLongFunction, Int64, ILongBinaryOperator)

Gibt das Ergebnis der Akkumulation der angegebenen Transformation aller Werte zurück, die den angegebenen Reduzierungswert zum Kombinieren von Werten und die angegebene Basis als Identitätswert verwenden.

Remove(Object)

So wird's hinzugefügt

(Geerbt von AbstractMap)
Remove(Object, Object)

So wird's hinzugefügt

Replace(Object, Object)

So wird's hinzugefügt

Replace(Object, Object, Object)

So wird's hinzugefügt

ReplaceAll(IBiFunction)

Eine Hashtabelle, die die vollständige Parallelität von Abrufen und eine hohe erwartete Parallelität für Updates unterstützt.

Search(Int64, IBiFunction)

Gibt ein Nicht-NULL-Ergebnis aus der Anwendung der angegebenen Suchfunktion auf jeden Wert (Schlüssel, Wert) oder NULL zurück, wenn keine.

SearchEntries(Int64, IFunction)

Gibt ein Nicht-NULL-Ergebnis aus der Anwendung der angegebenen Suchfunktion für jeden Eintrag oder null zurück, wenn keines vorhanden ist.

SearchKeys(Int64, IFunction)

Gibt ein Nicht-NULL-Ergebnis aus der Anwendung der angegebenen Suchfunktion auf jeden Schlüssel oder NULL zurück, wenn keine.

SearchValues(Int64, IFunction)

Gibt ein Nicht-NULL-Ergebnis zurück, indem die angegebene Suchfunktion auf jeden Wert angewendet wird, oder null, wenn keines vorhanden ist.

SetHandle(IntPtr, JniHandleOwnership)

Legt die Handle-Eigenschaft fest.

(Geerbt von Object)
Size()

So wird's hinzugefügt

(Geerbt von AbstractMap)
ToArray<T>()

Eine Hashtabelle, die die vollständige Parallelität von Abrufen und eine hohe erwartete Parallelität für Updates unterstützt.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolgendarstellung des Objekts zurück.

(Geerbt von Object)
UnregisterFromRuntime()

Eine Hashtabelle, die die vollständige Parallelität von Abrufen und eine hohe erwartete Parallelität für Updates unterstützt.

(Geerbt von Object)
Values()

So wird's hinzugefügt

(Geerbt von AbstractMap)
Wait()

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch em benachrichtigt/em> oder <em>unterbrochen</em>.<><

(Geerbt von Object)
Wait(Int64)

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)
Wait(Int64, Int32)

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

IJavaPeerable.Disposed()

Eine Hashtabelle, die die vollständige Parallelität von Abrufen und eine hohe erwartete Parallelität für Updates unterstützt.

(Geerbt von Object)
IJavaPeerable.DisposeUnlessReferenced()

Eine Hashtabelle, die die vollständige Parallelität von Abrufen und eine hohe erwartete Parallelität für Updates unterstützt.

(Geerbt von Object)
IJavaPeerable.Finalized()

Eine Hashtabelle, die die vollständige Parallelität von Abrufen und eine hohe erwartete Parallelität für Updates unterstützt.

(Geerbt von Object)
IJavaPeerable.JniManagedPeerState

Eine Hashtabelle, die die vollständige Parallelität von Abrufen und eine hohe erwartete Parallelität für Updates unterstützt.

(Geerbt von Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Eine Hashtabelle, die die vollständige Parallelität von Abrufen und eine hohe erwartete Parallelität für Updates unterstützt.

(Geerbt von Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Eine Hashtabelle, die die vollständige Parallelität von Abrufen und eine hohe erwartete Parallelität für Updates unterstützt.

(Geerbt von Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Eine Hashtabelle, die die vollständige Parallelität von Abrufen und eine hohe erwartete Parallelität für Updates unterstützt.

(Geerbt von Object)

Erweiterungsmethoden

JavaCast<TResult>(IJavaObject)

Führt eine android-laufzeitgecheckte Typkonvertierung aus.

JavaCast<TResult>(IJavaObject)

Eine Hashtabelle, die die vollständige Parallelität von Abrufen und eine hohe erwartete Parallelität für Updates unterstützt.

GetJniTypeName(IJavaPeerable)

Eine Hashtabelle, die die vollständige Parallelität von Abrufen und eine hohe erwartete Parallelität für Updates unterstützt.

Gilt für: