TreeSet Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Реализация NavigableSet на 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
- Наследование
- Атрибуты
- Реализации
Комментарии
Реализация NavigableSet на TreeMapоснове . Элементы упорядочены с помощью аналогичного естественного Comparator упорядочения или предоставленным во время создания набора в зависимости от того, какой конструктор используется.
Эта реализация обеспечивает гарантированную стоимость времени log(n) для основных операций (addremoveиcontains).
Обратите внимание, что порядок, поддерживаемый набором (предоставляется ли явный компратор) должен быть согласован с равными, если это необходимо для правильной Set реализации интерфейса. (См Comparable . или Comparator точное определение, согласованное с равными.) Это связано с тем, что Set интерфейс определен с точки зрения equals операции, но TreeSet экземпляр выполняет все сравнения элементов с помощью его compareTo метода (или compare), поэтому два элемента, которые считаются равными этим методом, с точки зрения набора, равны. Поведение набора четко определяется , даже если его упорядочение не соответствует равным. Он просто не соответствует общему контракту Set интерфейса.
<Обратите>внимание, что эта реализация не синхронизирована.</strong> , если несколько потоков обращаются к древовидному набору одновременно, а по крайней мере один из потоков изменяет набор, он должен быть синхронизирован внешне. Обычно это достигается путем синхронизации с некоторым объектом, который естественно инкапсулирует набор. Если такой объект не существует, набор должен быть "упакован" с помощью Collections#synchronizedSortedSet Collections.synchronizedSortedSet метода. Это лучше всего сделать во время создания, чтобы предотвратить случайный несинхронизированный доступ к набору:
SortedSet s = Collections.synchronizedSortedSet(new TreeSet(...));
Итераторы, возвращаемые методом этого классаiterator, завершаются сбоем: если набор изменяется в любое время после создания итератора, за исключением собственного remove метода итератора, итератор вызовет ConcurrentModificationExceptionисключение. Таким образом, перед лицом параллельного изменения итератор завершается сбоем быстро и чисто, а не рискуя произвольным, недетерминированным поведением в будущем.
Обратите внимание, что поведение итератора не может быть гарантировано, как правило, невозможно сделать какие-либо жесткие гарантии в присутствии несинхронизированных одновременных изменений. Отработки отказа быстрой итерации создаются ConcurrentModificationException на основе лучших усилий. Поэтому было бы неправильно написать программу, которая зависит от этого исключения для его правильности: поведение итераторов должно использоваться только для обнаружения ошибок.
Этот класс является членом Платформы коллекций Java.
Добавлено в версии 1.2.
Документация по Java для java.util.TreeSet.
Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.
Конструкторы
| TreeSet() |
Создает новый, пустой набор деревьев, отсортированный в соответствии с естественным упорядочением его элементов. |
| TreeSet(ICollection) |
Создает новый набор дерева, содержащий элементы в указанной коллекции, отсортированный в соответствии с естественным упорядочением его элементов. |
| TreeSet(IComparator) |
Создает новый, пустой набор деревьев, отсортированный в соответствии с указанным компратором. |
| TreeSet(IntPtr, JniHandleOwnership) |
Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения. |
| TreeSet(ISortedSet) |
Создает новый набор дерева, содержащий те же элементы и используя то же упорядочение, что и указанный отсортированный набор. |
Свойства
| Class |
Возвращает класс среды выполнения этого |
| Handle |
Дескриптор базового экземпляра Android. (Унаследовано от Object) |
| IsEmpty |
Добавление (Унаследовано от AbstractCollection) |
| JniIdentityHashCode |
Реализация |
| JniPeerMembers |
Реализация |
| PeerReference |
Реализация |
| ThresholdClass |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. |
| ThresholdType |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. |
Методы
| Add(Object) |
Добавление (Унаследовано от AbstractCollection) |
| AddAll(ICollection) |
Добавление (Унаследовано от AbstractCollection) |
| Ceiling(Object) |
Добавлено в 1. |
| Clear() |
Добавление (Унаследовано от AbstractCollection) |
| Clone() |
Возвращает неглубокую копию этого |
| Comparator() |
Возвращает компратор, используемый для сравнения элементов в этом |
| Contains(Object) |
Добавление (Унаследовано от AbstractCollection) |
| ContainsAll(ICollection) |
Добавление (Унаследовано от AbstractCollection) |
| DescendingIterator() |
Возвращает итератор по элементам в этом наборе в порядке убывания. |
| DescendingSet() |
Возвращает представление обратного порядка элементов, содержащихся в этом наборе. |
| Dispose() |
Реализация |
| Dispose(Boolean) |
Реализация |
| Equals(Object) |
Указывает, равен ли другой объект этому объекту. (Унаследовано от Object) |
| First() |
Возвращает первый элемент в этом наборе. |
| Floor(Object) |
Добавлено в 1. |
| GetHashCode() |
Возвращает значение хэш-кода для объекта. (Унаследовано от Object) |
| HeadSet(Object, Boolean) |
Реализация |
| HeadSet(Object) |
Реализация |
| Higher(Object) |
Добавлено в 1. |
| Iterator() |
Возвращает итератор по элементам в этом наборе в порядке возрастания. |
| JavaFinalize() |
Вызывается сборщиком мусора в объекте, когда сборка мусора определяет, что больше ссылок на объект нет. (Унаследовано от Object) |
| Last() |
Возвращает последний элемент в этом наборе. |
| Lower(Object) |
Добавлено в 1. |
| Notify() |
Пробуждение одного потока, ожидающего монитора этого объекта. (Унаследовано от Object) |
| NotifyAll() |
Просыпает все потоки, ожидающие монитора этого объекта. (Унаследовано от Object) |
| PollFirst() |
Добавлено в 1. |
| PollLast() |
Добавлено в 1. |
| Remove(Object) |
Добавление (Унаследовано от AbstractCollection) |
| RemoveAll(ICollection) |
Добавление (Унаследовано от AbstractCollection) |
| RetainAll(ICollection) |
Добавление (Унаследовано от AbstractCollection) |
| SetHandle(IntPtr, JniHandleOwnership) |
Задает свойство Handle. (Унаследовано от Object) |
| Size() |
Возвращает количество элементов в этом наборе (его кратность). |
| Spliterator() |
<Создает em>"Spliterator. |
| SubSet(Object, Boolean, Object, Boolean) |
Реализация |
| SubSet(Object, Object) |
Реализация |
| TailSet(Object, Boolean) |
Реализация |
| TailSet(Object) |
Реализация |
| ToArray() |
Добавление (Унаследовано от AbstractCollection) |
| ToArray(Object[]) |
Добавление (Унаследовано от AbstractCollection) |
| ToArray<T>() |
Реализация |
| ToString() |
Возвращает строковое представление объекта. (Унаследовано от Object) |
| UnregisterFromRuntime() |
Реализация |
| Wait() |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>помощи уведомления</em> или <эм>прерванного</em>. (Унаследовано от Object) |
| Wait(Int64, Int32) |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени. (Унаследовано от Object) |
| Wait(Int64) |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени. (Унаследовано от Object) |
Явные реализации интерфейса
| IJavaPeerable.Disposed() |
Реализация |
| IJavaPeerable.DisposeUnlessReferenced() |
Реализация |
| IJavaPeerable.Finalized() |
Реализация |
| IJavaPeerable.JniManagedPeerState |
Реализация |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Реализация |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Реализация |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Реализация |
Методы расширения
| JavaCast<TResult>(IJavaObject) |
Выполняет преобразование типа, проверяемого средой выполнения Android. |
| JavaCast<TResult>(IJavaObject) |
Реализация |
| GetJniTypeName(IJavaPeerable) |
Реализация |
| ToEnumerable(IIterable) |
Реализация |
| ToEnumerable<T>(IIterable) |
Реализация |