TreeMap Klasse
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.
Eine Red-Black strukturbasierte NavigableMap Implementierung.
[Android.Runtime.Register("java/util/TreeMap", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "K", "V" })]
public class TreeMap : Java.Util.AbstractMap, IDisposable, Java.IO.ISerializable, Java.Lang.ICloneable, Java.Util.INavigableMap
[<Android.Runtime.Register("java/util/TreeMap", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "K", "V" })>]
type TreeMap = class
inherit AbstractMap
interface ISerializable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface ICloneable
interface INavigableMap
interface ISortedMap
interface IMap
interface ISequencedMap
- Vererbung
- Attribute
- Implementiert
Hinweise
Eine Red-Black strukturbasierte NavigableMap Implementierung. Die Karte wird je nach verwendetem Konstruktor nach der vergleichbaren natürlichen Reihenfolge ihrer Schlüssel oder nach einer Comparator bei der Kartenerstellung bereitgestellten Zuordnung sortiert.
Diese Implementierung bietet garantierte Protokoll-(n)Zeitkosten für die containsKey, getund putremove Vorgänge. Algorithmen sind Anpassungen derjenigen in Cormen, Leiserson und Rivests <em>Einführung in Algorithmen</em>.
Beachten Sie, dass die Sortierung, die von einer Strukturkarte verwaltet wird, wie jede sortierte Karte, und ob ein expliziter Vergleich bereitgestellt wird, mit</em> konsistent equals<sein >muss, wenn diese sortierte Karte die Map Schnittstelle korrekt implementiert. (Siehe Comparable oder Comparator eine genaue Definition von <em>, die mit gleich</em> konsistent ist.) Dies liegt daran, dass die Map Schnittstelle in Bezug auf den equals Vorgang definiert ist, aber eine sortierte Zuordnung führt alle Schlüsselvergleiche mithilfe ihrer compareTo (oder compare) Methode aus, sodass zwei Schlüssel, die von dieser Methode als gleich eingestuft werden, aus der Sicht der sortierten Zuordnung gleich sind. Das Verhalten einer sortierten Karte <em>ist</em> gut definiert, auch wenn die Sortierung inkonsistent equalsist; sie unterliegt nur dem allgemeinen Vertrag der Map Schnittstelle.
<strong>Note that this implementation is not synchronized.</strong> Wenn mehrere Threads gleichzeitig auf eine Karte zugreifen und mindestens einer der Threads die Zuordnung strukturell ändert, <muss> em</em> extern synchronisiert werden. (Eine strukturelle Änderung ist jeder Vorgang, der eine oder mehrere Zuordnungen hinzufügt oder löscht; lediglich das Ändern des werts, der einem vorhandenen Schlüssel zugeordnet ist, ist keine strukturelle Änderung.) Dies wird in der Regel durch Synchronisieren eines Objekts erreicht, das die Karte natürlich kapselt. Wenn kein solches Objekt vorhanden ist, sollte die Zuordnung mithilfe der Collections#synchronizedSortedMap Collections.synchronizedSortedMap Methode "umbrochen" werden. Dies geschieht am besten zur Erstellungszeit, um versehentlichen nicht synchronisierten Zugriff auf die Karte zu verhindern:
SortedMap m = Collections.synchronizedSortedMap(new TreeMap(...));
Die iteratoren, die von der Methode der Auflistungen zurückgegeben werden, die von allen "Sammlungsansichtsmethoden" dieser Klasse zurückgegeben werden, sinditerator< fail-fast>/em<: Wenn die Karte nach dem > Erstellen des Iterators strukturell geändert wird, außer über die eigene remove Methode des Iterators, löst der Iterator eine .ConcurrentModificationException Daher schlägt der Iterator angesichts der gleichzeitigen Änderung schnell und sauber fehl, anstatt willkürliches, nicht deterministisches Verhalten zu einem unbestimmten Zeitpunkt in der Zukunft zu riskieren.
Beachten Sie, dass das fehlschnelle Verhalten eines Iterators nicht garantiert werden kann, da es im Allgemeinen unmöglich ist, im Vorhandensein nicht synchronisierter gleichzeitiger Änderungen harte Garantien zu gewährleisten. Fail-fast iterators throw ConcurrentModificationException on a best-effort. Daher wäre es falsch, ein Programm zu schreiben, das von dieser Ausnahme für seine Richtigkeit abhängig ist: <em>das fehlerschnelle Verhalten von Iteratoren sollte nur verwendet werden, um Fehler zu erkennen.</em>
Die Methoden #ceilingEntry, , #firstEntry, #floorEntry, #higherEntry, #lastEntry, #lowerEntry, #pollFirstEntryund #pollLastEntry rückgabe Map.Entry Instanzen, die Momentaufnahmen von Zuordnungen ab dem Zeitpunkt des Aufrufs darstellen.
<Sie unterstützen nicht/em> Mutationen<> der zugrunde liegenden Karte über die optionale Map.Entry#setValue setValue Methode.
Die #putFirst putFirst Methoden #putLast putLast und Methoden dieser Klasse lösen aus UnsupportedOperationException. Die Zuordnungsreihenfolge wird durch die Vergleichsmethode bestimmt; daher wird die explizite Positionierung nicht unterstützt.
Diese Klasse ist ein Mitglied des Java Collections Framework.
In 1.2 hinzugefügt.
Java Dokumentation für java.util.TreeMap.
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.
Konstruktoren
| Name | Beschreibung |
|---|---|
| TreeMap() |
Erstellt eine neue, leere Strukturkarte mit der natürlichen Reihenfolge ihrer Schlüssel. |
| TreeMap(IComparator) |
Erstellt eine neue, leere Baumkarte, sortiert nach der angegebenen Vergleichstabelle. |
| TreeMap(IDictionary) |
Erstellt eine neue Strukturkarte, die die gleichen Zuordnungen wie die angegebene Karte enthält, sortiert nach der <natürlichen>Reihenfolge</Em> ihrer Schlüssel. |
| TreeMap(IntPtr, JniHandleOwnership) |
Ein Konstruktor, der beim Erstellen verwalteter Darstellungen von JNI-Objekten verwendet wird; wird von der Laufzeit aufgerufen. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| Class |
Gibt die Laufzeitklasse dieses Werts |
| Handle |
Das Handle für die zugrunde liegende Android-Instanz. (Geerbt von Object) |
| IsEmpty |
Soll hinzugefügt werden (Geerbt von AbstractMap) |
| JniIdentityHashCode |
Ruft den Identitätshashcode ab, der diesem Java Peer von der Interop-Laufzeit zugewiesen ist. (Geerbt von Object) |
| JniManagedPeerState |
Eine Red-Black strukturbasierte |
| JniPeerMembers |
Eine Red-Black strukturbasierte |
| PeerReference |
Ruft den JNI-Objektverweis für diesen Java Peer ab. (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
| Name | Beschreibung |
|---|---|
| CeilingEntry(Object) |
Eine Red-Black strukturbasierte |
| CeilingKey(Object) |
Hinzugefügt in 1. |
| Clear() |
Soll hinzugefügt werden (Geerbt von AbstractMap) |
| Clone() |
Gibt eine flache Kopie dieser |
| Comparator() |
Gibt den Vergleichsator zurück, der zum Vergleichen von Schlüsseln in dieser sortierten Karte oder null verwendet wird, wenn die natürliche Sortierung verwendet wird. |
| Compute(Object, IBiFunction) |
Eine Red-Black strukturbasierte |
| ComputeIfAbsent(Object, IFunction) |
Eine Red-Black strukturbasierte |
| ComputeIfPresent(Object, IBiFunction) |
Eine Red-Black strukturbasierte |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Eine Red-Black strukturbasierte |
| ContainsKey(Object) |
Soll hinzugefügt werden (Geerbt von AbstractMap) |
| ContainsValue(Object) |
Soll hinzugefügt werden (Geerbt von AbstractMap) |
| DescendingKeySet() |
Hinzugefügt in 1. |
| DescendingMap() |
Hinzugefügt in 1. |
| Dispose() |
Veröffentlicht die Ressourcen, die von diesem Java Peer gehalten werden. (Geerbt von Object) |
| Dispose(Boolean) |
Veröffentlicht die Ressourcen, die von diesem Java Peer gehalten werden. (Geerbt von Object) |
| DisposeUnlessReferenced() |
Eine Red-Black strukturbasierte |
| EntrySet() |
Gibt eine |
| Equals(Object) |
Eine Red-Black strukturbasierte |
| Equals(Object) |
Gibt an, ob ein anderes Objekt "gleich" diesem Objekt ist. (Geerbt von Object) |
| FirstEntry() |
Gibt eine Schlüsselwertzuordnung zurück, die dem geringsten Schlüssel in dieser Karte zugeordnet ist oder |
| FirstKey() |
Gibt den geringsten Schlüssel in dieser sortierten Zuordnung zurück. |
| FloorEntry(Object) |
Eine Red-Black strukturbasierte |
| FloorKey(Object) |
Hinzugefügt in 1. |
| ForEach(IBiConsumer) |
Eine Red-Black strukturbasierte |
| Get(Object) |
Soll hinzugefügt werden (Geerbt von AbstractMap) |
| GetHashCode() |
Gibt einen Hashcodewert für das Objekt zurück. (Geerbt von Object) |
| HeadMap(Object, Boolean) |
Hinzugefügt in 1. |
| HeadMap(Object) |
Eine Red-Black strukturbasierte |
| HigherEntry(Object) |
Eine Red-Black strukturbasierte |
| HigherKey(Object) |
Hinzugefügt in 1. |
| 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) |
| KeySet() |
Soll hinzugefügt werden (Geerbt von AbstractMap) |
| LastEntry() |
Gibt eine Schlüsselwertzuordnung zurück, die dem größten Schlüssel in dieser Karte zugeordnet ist oder |
| LastKey() |
Gibt den größten Schlüssel in dieser sortierten Karte zurück. |
| LowerEntry(Object) |
Eine Red-Black strukturbasierte |
| LowerKey(Object) |
Hinzugefügt in 1. |
| Merge(Object, Object, IBiFunction) |
Eine Red-Black strukturbasierte |
| NavigableKeySet() |
Hinzugefügt in 1. |
| 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) |
| PollFirstEntry() |
Entfernt und gibt eine Schlüsselwertzuordnung zurück, die dem geringsten Schlüssel in dieser Karte zugeordnet ist, oder |
| PollLastEntry() |
Entfernt und gibt eine Schlüsselwertzuordnung zurück, die dem größten Schlüssel in dieser Karte zugeordnet ist, oder |
| Put(Object, Object) |
Soll hinzugefügt werden (Geerbt von AbstractMap) |
| PutAll(IDictionary) |
Soll hinzugefügt werden (Geerbt von AbstractMap) |
| PutFirst(Object, Object) |
Löst |
| PutIfAbsent(Object, Object) |
Eine Red-Black strukturbasierte |
| PutLast(Object, Object) |
Löst |
| Remove(Object) |
Soll hinzugefügt werden (Geerbt von AbstractMap) |
| Replace(Object, Object, Object) |
Eine Red-Black strukturbasierte |
| Replace(Object, Object) |
Eine Red-Black strukturbasierte |
| ReplaceAll(IBiFunction) |
Eine Red-Black strukturbasierte |
| SetHandle(IntPtr, JniHandleOwnership) |
Legt die Handle-Eigenschaft fest. (Geerbt von Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Eine Red-Black strukturbasierte |
| Size() |
Soll hinzugefügt werden (Geerbt von AbstractMap) |
| SubMap(Object, Boolean, Object, Boolean) |
Hinzugefügt in 1. |
| SubMap(Object, Object) |
Eine Red-Black strukturbasierte |
| TailMap(Object, Boolean) |
Hinzugefügt in 1. |
| TailMap(Object) |
Eine Red-Black strukturbasierte |
| ToArray<T>() |
Erstellt ein verwaltetes Array aus diesem Java Arraywrapper. (Geerbt von Object) |
| ToString() |
Gibt eine Zeichenfolgendarstellung des Objekts zurück. (Geerbt von Object) |
| UnregisterFromRuntime() |
Hebt die Registrierung dieses Java Peers aus der Interop-Laufzeit auf. (Geerbt von Object) |
| Values() |
Soll hinzugefügt werden (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, 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) |
| 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) |
Explizite Schnittstellenimplementierungen
| Name | Beschreibung |
|---|---|
| IJavaPeerable.Disposed() |
Eine Red-Black strukturbasierte |
| IJavaPeerable.Finalized() |
Eine Red-Black strukturbasierte |
| IJavaPeerable.JniObjectReferenceControlBlock |
Eine Red-Black strukturbasierte |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Eine Red-Black strukturbasierte |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Eine Red-Black strukturbasierte |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Eine Red-Black strukturbasierte |
| IJavaPeerable.UnregisterFromRuntime() |
Eine Red-Black strukturbasierte |
Erweiterungsmethoden
| Name | Beschreibung |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Ruft den JNI-Namen des Typs der Instanz |
| JavaAs<TResult>(IJavaPeerable) |
Versuchen Sie, die Eingabe |
| JavaCast<TResult>(IJavaObject) |
Führt eine android-laufzeitgecheckte Typkonvertierung aus. |
| JavaCast<TResult>(IJavaObject) |
Eine Red-Black strukturbasierte |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Versuchen Sie, die Eingabe |