TreeSet 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 NavigableSet
Implementierung basierend auf einem TreeMap
.
[Android.Runtime.Register("java/util/TreeSet", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public class TreeSet : Java.Util.AbstractSet, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable, Java.Lang.ICloneable, Java.Util.INavigableSet
[<Android.Runtime.Register("java/util/TreeSet", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type TreeSet = class
inherit AbstractSet
interface ISerializable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface ICloneable
interface INavigableSet
interface ISortedSet
interface ISet
interface ICollection
interface IIterable
- Vererbung
- Attribute
- Implementiert
Hinweise
Eine NavigableSet
Implementierung basierend auf einem TreeMap
. Die Elemente werden anhand ihrer vergleichbaren natürlichen Reihenfolge oder nach einer Comparator
festgelegten Erstellungszeit sortiert, je nachdem, welcher Konstruktor verwendet wird.
Diese Implementierung bietet garantierte Protokoll(n)-Zeitkosten für die grundlegenden Vorgänge (add
remove
und contains
).
Beachten Sie, dass die sortierung, die von einer Gruppe verwaltet wird (unabhängig davon, ob ein expliziter Vergleich bereitgestellt wird) gleich sein muss, wenn die Set
Schnittstelle korrekt implementiert werden soll. (Siehe Comparable
oder Comparator
eine genaue Definition, die gleich ist.) Dies liegt daran, dass die Set
Schnittstelle in Bezug auf den equals
Vorgang definiert ist, aber eine TreeSet
Instanz führt alle Elementvergleiche mithilfe ihrer compareTo
(oder compare
) Methode aus, sodass zwei Elemente, die von dieser Methode als gleich eingestuft werden, vom Standpunkt des Satzes gleich sind. Das Verhalten eines Satzes ist auch dann gut definiert, wenn die Sortierung inkonsistent ist, und nur nicht dem allgemeinen Vertrag der Set
Schnittstelle gehorcht.
<strong>Note that this implementation is not synchronized.</strong> Wenn mehrere Threads gleichzeitig auf eine Struktur zugreifen und mindestens einer der Threads den Satz ändert, muss er extern synchronisiert werden. Dies wird in der Regel durch Synchronisieren für ein Objekt erreicht, das den Satz natürlich kapselt. Wenn kein solches Objekt vorhanden ist, sollte der Satz mithilfe der Collections#synchronizedSortedSet Collections.synchronizedSortedSet
Methode "wrapped" sein. Dies geschieht am besten zur Erstellungszeit, um versehentlichen nicht synchronisierten Zugriff auf die Gruppe zu verhindern:
SortedSet s = Collections.synchronizedSortedSet(new TreeSet(...));
Die von der Methode dieser Klasse iterator
zurückgegebenen Iteratoren sind fail-fast: Wenn der Satz jederzeit geändert wird, nachdem der Iterator erstellt wurde, außer über die eigene remove
Methode des Iterators, löst der Iterator einen 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: Das fehlerschnelle Verhalten von Iteratoren sollte nur verwendet werden, um Fehler zu erkennen.
Diese Klasse ist ein Mitglied des Java Collections Framework.
In 1.2 hinzugefügt.
Java-Dokumentation für java.util.TreeSet
.
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
TreeSet() |
Erstellt einen neuen, leeren Baumsatz, sortiert nach der natürlichen Reihenfolge seiner Elemente. |
TreeSet(ICollection) |
Erstellt einen neuen Baumsatz, der die Elemente in der angegebenen Auflistung enthält, sortiert nach der natürlichen Reihenfolge seiner Elemente. |
TreeSet(IComparator) |
Erstellt einen neuen, leeren Baumsatz, sortiert nach dem angegebenen Vergleichszeichen. |
TreeSet(IntPtr, JniHandleOwnership) |
Ein Konstruktor, der beim Erstellen verwalteter Darstellungen von JNI-Objekten verwendet wird; wird von der Laufzeit aufgerufen. |
TreeSet(ISortedSet) |
Erstellt einen neuen Struktursatz, der dieselben Elemente enthält, und verwendet dieselbe Reihenfolge wie der angegebene sortierte Satz. |
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 AbstractCollection) |
JniIdentityHashCode |
Eine |
JniPeerMembers |
Eine |
PeerReference |
Eine |
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
Add(Object) |
So wird's hinzugefügt (Geerbt von AbstractCollection) |
AddAll(ICollection) |
So wird's hinzugefügt (Geerbt von AbstractCollection) |
Ceiling(Object) |
Hinzugefügt in 1. |
Clear() |
So wird's hinzugefügt (Geerbt von AbstractCollection) |
Clone() |
Gibt eine flache Kopie dieser |
Comparator() |
Gibt den Vergleichsator zurück, der zum Vergleichen von Elementen in dieser |
Contains(Object) |
So wird's hinzugefügt (Geerbt von AbstractCollection) |
ContainsAll(ICollection) |
So wird's hinzugefügt (Geerbt von AbstractCollection) |
DescendingIterator() |
Gibt einen Iterator für die Elemente in dieser Gruppe in absteigender Reihenfolge zurück. |
DescendingSet() |
Gibt eine umgekehrte Reihenfolge der Elemente zurück, die in diesem Satz enthalten sind. |
Dispose() |
Eine |
Dispose(Boolean) |
Eine |
Equals(Object) |
Gibt an, ob ein anderes Objekt "gleich" diesem Objekt ist. (Geerbt von Object) |
First() |
Gibt das erste Element in dieser Gruppe zurück. |
Floor(Object) |
Hinzugefügt in 1. |
GetHashCode() |
Gibt einen Hashcodewert für das Objekt zurück. (Geerbt von Object) |
HeadSet(Object) |
Eine |
HeadSet(Object, Boolean) |
Eine |
Higher(Object) |
Hinzugefügt in 1. |
Iterator() |
Gibt einen Iterator über die Elemente in dieser Gruppe in aufsteigender Reihenfolge zurück. |
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) |
Last() |
Gibt das letzte Element in diesem Satz zurück. |
Lower(Object) |
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) |
PollFirst() |
Hinzugefügt in 1. |
PollLast() |
Hinzugefügt in 1. |
Remove(Object) |
So wird's hinzugefügt (Geerbt von AbstractCollection) |
RemoveAll(ICollection) |
So wird's hinzugefügt (Geerbt von AbstractCollection) |
RetainAll(ICollection) |
So wird's hinzugefügt (Geerbt von AbstractCollection) |
SetHandle(IntPtr, JniHandleOwnership) |
Legt die Handle-Eigenschaft fest. (Geerbt von Object) |
Size() |
Gibt die Anzahl der Elemente in diesem Satz (seine Kardinalität) zurück. |
Spliterator() |
Erstellt einen <em>"Spliterator. |
SubSet(Object, Boolean, Object, Boolean) |
Eine |
SubSet(Object, Object) |
Eine |
TailSet(Object) |
Eine |
TailSet(Object, Boolean) |
Eine |
ToArray() |
So wird's hinzugefügt (Geerbt von AbstractCollection) |
ToArray(Object[]) |
So wird's hinzugefügt (Geerbt von AbstractCollection) |
ToArray<T>() |
Eine |
ToString() |
Gibt eine Zeichenfolgendarstellung des Objekts zurück. (Geerbt von Object) |
UnregisterFromRuntime() |
Eine |
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 |
IJavaPeerable.DisposeUnlessReferenced() |
Eine |
IJavaPeerable.Finalized() |
Eine |
IJavaPeerable.JniManagedPeerState |
Eine |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Eine |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Eine |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Eine |
Erweiterungsmethoden
JavaCast<TResult>(IJavaObject) |
Führt eine android-laufzeitgecheckte Typkonvertierung aus. |
JavaCast<TResult>(IJavaObject) |
Eine |
GetJniTypeName(IJavaPeerable) |
Eine |
ToEnumerable(IIterable) |
Eine |
ToEnumerable<T>(IIterable) |
Eine |