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 auf Rot-Schwarz basierende 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.Interop.IJavaPeerable, 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
- Vererbung
- Attribute
- Implementiert
Hinweise
Eine auf Rot-Schwarz basierende 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
, get
und remove
put
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 equals
ist; 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 mit 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, sind>< fail-fast</em>: Wenn die Karte nach dem iterator
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 einer nicht synchronisierten gleichzeitigen Änderung hart garantiert zu werden. 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>
Alle Map.Entry
von Methoden in dieser Klasse zurückgegebenen Paare und ihre Ansichten stellen Momentaufnahmen von Zuordnungen zum Zeitpunkt der Erstellung dar. Sie unterstützen <die Entry.setValue
Methode stark>nicht</stark>. (Beachten Sie jedoch, dass es möglich ist, Zuordnungen in der zugeordneten Karte mithilfe von put
.)
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 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
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
Class |
Gibt die Laufzeitklasse dieses Werts |
Handle |
Das Handle für die zugrunde liegende Android-Instanz. (Geerbt von Object) |
IsEmpty |
So wird's hinzugefügt (Geerbt von AbstractMap) |
JniIdentityHashCode |
Eine auf Rot-Schwarz basierende |
JniPeerMembers |
Eine auf Rot-Schwarz basierende |
PeerReference |
Eine auf Rot-Schwarz basierende |
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
CeilingEntry(Object) |
Eine auf Rot-Schwarz basierende |
CeilingKey(Object) |
Hinzugefügt in 1. |
Clear() |
So wird's hinzugefügt (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. |
ContainsKey(Object) |
So wird's hinzugefügt (Geerbt von AbstractMap) |
ContainsValue(Object) |
So wird's hinzugefügt (Geerbt von AbstractMap) |
DescendingKeySet() |
Hinzugefügt in 1. |
DescendingMap() |
Hinzugefügt in 1. |
Dispose() |
Eine auf Rot-Schwarz basierende |
Dispose(Boolean) |
Eine auf Rot-Schwarz basierende |
EntrySet() |
Gibt eine |
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 auf Rot-Schwarz basierende |
FloorKey(Object) |
Hinzugefügt in 1. |
ForEach(IBiConsumer) |
Eine auf Rot-Schwarz basierende |
Get(Object) |
So wird's hinzugefügt (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 auf Rot-Schwarz basierende |
HigherEntry(Object) |
Eine auf Rot-Schwarz basierende |
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() |
So wird's hinzugefügt (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 auf Rot-Schwarz basierende |
LowerKey(Object) |
Hinzugefügt in 1. |
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) |
So wird's hinzugefügt (Geerbt von AbstractMap) |
PutAll(IDictionary) |
So wird's hinzugefügt (Geerbt von AbstractMap) |
Remove(Object) |
So wird's hinzugefügt (Geerbt von AbstractMap) |
Replace(Object, Object, Object) |
Eine auf Rot-Schwarz basierende |
Replace(Object, Object) |
Eine auf Rot-Schwarz basierende |
ReplaceAll(IBiFunction) |
Eine auf Rot-Schwarz basierende |
SetHandle(IntPtr, JniHandleOwnership) |
Legt die Handle-Eigenschaft fest. (Geerbt von Object) |
Size() |
So wird's hinzugefügt (Geerbt von AbstractMap) |
SubMap(Object, Boolean, Object, Boolean) |
Hinzugefügt in 1. |
SubMap(Object, Object) |
Eine auf Rot-Schwarz basierende |
TailMap(Object, Boolean) |
Hinzugefügt in 1. |
TailMap(Object) |
Eine auf Rot-Schwarz basierende |
ToArray<T>() |
Eine auf Rot-Schwarz basierende |
ToString() |
Gibt eine Zeichenfolgendarstellung des Objekts zurück. (Geerbt von Object) |
UnregisterFromRuntime() |
Eine auf Rot-Schwarz basierende |
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, 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
IJavaPeerable.Disposed() |
Eine auf Rot-Schwarz basierende |
IJavaPeerable.DisposeUnlessReferenced() |
Eine auf Rot-Schwarz basierende |
IJavaPeerable.Finalized() |
Eine auf Rot-Schwarz basierende |
IJavaPeerable.JniManagedPeerState |
Eine auf Rot-Schwarz basierende |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Eine auf Rot-Schwarz basierende |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Eine auf Rot-Schwarz basierende |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Eine auf Rot-Schwarz basierende |
Erweiterungsmethoden
JavaCast<TResult>(IJavaObject) |
Führt eine android-laufzeitgecheckte Typkonvertierung aus. |
JavaCast<TResult>(IJavaObject) |
Eine auf Rot-Schwarz basierende |
GetJniTypeName(IJavaPeerable) |
Eine auf Rot-Schwarz basierende |