TreeMap Класс

Определение

Реализация на основе NavigableMap дерева Red-Black.

[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
Наследование
Атрибуты
Реализации

Комментарии

Реализация на основе NavigableMap дерева Red-Black. Карта отсортирована в соответствии с сопоставимым естественным упорядочением ключей или Comparator предоставленным во время создания карты в зависимости от используемого конструктора.

Эта реализация обеспечивает гарантированную стоимость времени log(n) для операций и операций containsKeygetput.remove Алгоритмы — это адаптация тех, которые в Cormen, Leiserson и Rivest <em>Введение в алгоритмы</em>.

Обратите внимание, что порядок, поддерживаемый картой дерева, как любая отсортированная карта, и какой-либо явный компратор предоставляется, должен быть <согласован>с equals</em> , если эта отсортированная карта должна правильно реализовать Map интерфейс. (СмComparable. или Comparator точное определение em<, согласованное >с equals</em>.) Это так, потому что Map интерфейс определен с точки зрения equals операции, но отсортированная карта выполняет все сравнения ключей с помощью его compareTo метода (илиcompare), поэтому два ключа, которые считаются равными этим методом, с точки зрения отсортированных карт, равны. Поведение отсортированного карты <em>< /em> четко определено, даже если его упорядочение не соответствуетequals; он просто не соответствует общему контракту Map интерфейса.

<Обратите>внимание, что эта реализация не синхронизирована.</strong>, если несколько потоков одновременно обращаются к карте, и по крайней мере один из потоков изменяет схему структурно, она <должна> /em<> быть синхронизирована внешне. (Структурные изменения — это любая операция, которая добавляет или удаляет одно или несколько сопоставлений; просто изменение значения, связанного с существующим ключом, не является структурным изменением.) Обычно это достигается путем синхронизации с некоторым объектом, который естественно инкапсулирует карту. Если такой объект не существует, карта должна быть "упакована" с помощью Collections#synchronizedSortedMap Collections.synchronizedSortedMap метода. Это лучше всего сделать во время создания, чтобы предотвратить случайный несинхронизированный доступ к карте:

SortedMap m = Collections.synchronizedSortedMap(new TreeMap(...));

Итераторы, возвращаемые методом iterator коллекций, возвращаемых всеми методами представления коллекции этого класса, являются <em>fail-fast/em<: если карта структурно> изменяется в любое время после создания итератора, в любом случае, за исключением собственного remove метода итератора, итератор вызовет ConcurrentModificationExceptionитератор. Таким образом, перед лицом параллельного изменения итератор завершается сбоем быстро и чисто, а не рискуя произвольным, недетерминированным поведением в будущем.

Обратите внимание, что поведение итератора не может быть гарантировано, как правило, невозможно сделать какие-либо жесткие гарантии в присутствии несинхронизированных одновременных изменений. Отработки отказа быстрой итерации создаются ConcurrentModificationException на основе лучших усилий. Поэтому было бы неправильно написать программу, которая зависит от этого исключения для его правильности: <эм>поведение итераторов сбоем должно использоваться только для обнаружения ошибок.</em>

Методы #ceilingEntry, #firstEntry, #floorEntry#higherEntry#lastEntry#lowerEntry#pollFirstEntry#pollLastEntry и возвращаемые Map.Entry экземпляры, представляющие моментальные снимки сопоставлений по состоянию на время вызова. < >Они не< поддерживают> мутацию базовой карты с помощью необязательного Map.Entry#setValue setValue метода.

#putFirst putFirst Вызов #putLast putLastUnsupportedOperationExceptionи методы этого класса. Порядок сопоставлений определяется методом сравнения; Таким образом, явное расположение не поддерживается.

Этот класс является членом Платформы коллекций Java.

Добавлено в версии 1.2.

Java документации по java.util.TreeMap.

Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".

Конструкторы

Имя Описание
TreeMap()

Создает новую пустую карту дерева, используя естественное упорядочение ключей.

TreeMap(IComparator)

Создает новую, пустую карту дерева, упорядоченную в соответствии с заданным компратором.

TreeMap(IDictionary)

Создает новую карту дерева, содержащую те же сопоставления, что и данная карта, упорядоченная в соответствии <>с упорядочением в соответствии с упорядочением< и> эмом его ключей.

TreeMap(IntPtr, JniHandleOwnership)

Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения.

Свойства

Имя Описание
Class

Возвращает класс среды выполнения этого Objectобъекта.

(Унаследовано от Object)
Handle

Дескриптор базового экземпляра Android.

(Унаследовано от Object)
IsEmpty

Добавление

(Унаследовано от AbstractMap)
JniIdentityHashCode

Возвращает хэш-код удостоверения, назначенный этому Java одноранговой среде выполнения взаимодействия.

(Унаследовано от Object)
JniManagedPeerState

Реализация на основе NavigableMap дерева Red-Black.

(Унаследовано от JavaObject)
JniPeerMembers

Реализация на основе NavigableMap дерева Red-Black.

PeerReference

Возвращает ссылку на объект JNI для этого Java однорангового узла.

(Унаследовано от Object)
ThresholdClass

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

ThresholdType

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

Методы

Имя Описание
CeilingEntry(Object)

Реализация на основе NavigableMap дерева Red-Black.

CeilingKey(Object)

Добавлено в 1.

Clear()

Добавление

(Унаследовано от AbstractMap)
Clone()

Возвращает неглубокую копию этого TreeMap экземпляра.

Comparator()

Возвращает компратор, используемый для сравнения ключей в этой отсортированной карте, или значение NULL, если используется естественное упорядочение.

Compute(Object, IBiFunction)

Реализация на основе NavigableMap дерева Red-Black.

ComputeIfAbsent(Object, IFunction)

Реализация на основе NavigableMap дерева Red-Black.

ComputeIfPresent(Object, IBiFunction)

Реализация на основе NavigableMap дерева Red-Black.

Construct(JniObjectReference, JniObjectReferenceOptions)

Реализация на основе NavigableMap дерева Red-Black.

(Унаследовано от JavaObject)
ContainsKey(Object)

Добавление

(Унаследовано от AbstractMap)
ContainsValue(Object)

Добавление

(Унаследовано от AbstractMap)
DescendingKeySet()

Добавлено в 1.

DescendingMap()

Добавлено в 1.

Dispose()

Освобождает ресурсы, удерживаемые этим Java одноранговым узлом.

(Унаследовано от Object)
Dispose(Boolean)

Освобождает ресурсы, удерживаемые этим Java одноранговым узлом.

(Унаследовано от Object)
DisposeUnlessReferenced()

Реализация на основе NavigableMap дерева Red-Black.

(Унаследовано от JavaObject)
EntrySet()

Set Возвращает представление сопоставлений, содержащихся на этой карте.

Equals(Object)

Реализация на основе NavigableMap дерева Red-Black.

(Унаследовано от JavaObject)
Equals(Object)

Указывает, равен ли другой объект этому объекту.

(Унаследовано от Object)
FirstEntry()

Возвращает сопоставление "ключ-значение", связанное с наименьшим ключом в этой карте, или null если карта пуста.

FirstKey()

Возвращает наименьший ключ в этой отсортированной карте.

FloorEntry(Object)

Реализация на основе NavigableMap дерева Red-Black.

FloorKey(Object)

Добавлено в 1.

ForEach(IBiConsumer)

Реализация на основе NavigableMap дерева Red-Black.

Get(Object)

Добавление

(Унаследовано от AbstractMap)
GetHashCode()

Возвращает хэш-значение кода для объекта.

(Унаследовано от Object)
HeadMap(Object, Boolean)

Добавлено в 1.

HeadMap(Object)

Реализация на основе NavigableMap дерева Red-Black.

HigherEntry(Object)

Реализация на основе NavigableMap дерева Red-Black.

HigherKey(Object)

Добавлено в 1.

JavaFinalize()

Вызывается сборщиком мусора в объекте, когда сборка мусора определяет, что больше ссылок на объект нет.

(Унаследовано от Object)
KeySet()

Добавление

(Унаследовано от AbstractMap)
LastEntry()

Возвращает сопоставление "ключ-значение", связанное с наибольшим ключом в этой карте, или null если карта пуста.

LastKey()

Возвращает наибольший ключ в этой отсортированной карте.

LowerEntry(Object)

Реализация на основе NavigableMap дерева Red-Black.

LowerKey(Object)

Добавлено в 1.

Merge(Object, Object, IBiFunction)

Реализация на основе NavigableMap дерева Red-Black.

NavigableKeySet()

Добавлено в 1.

Notify()

Просыпается один поток, ожидающий монитора этого объекта.

(Унаследовано от Object)
NotifyAll()

Просыпает все потоки, ожидающие монитора этого объекта.

(Унаследовано от Object)
PollFirstEntry()

Удаляет и возвращает сопоставление "ключ-значение", связанное с наименьшим ключом в этой карте, или null если карта пуста.

PollLastEntry()

Удаляет и возвращает сопоставление "ключ-значение", связанное с наибольшим ключом в этой карте, или null если карта пуста.

Put(Object, Object)

Добавление

(Унаследовано от AbstractMap)
PutAll(IDictionary)

Добавление

(Унаследовано от AbstractMap)
PutFirst(Object, Object)

Бросает UnsupportedOperationException.

PutIfAbsent(Object, Object)

Реализация на основе NavigableMap дерева Red-Black.

PutLast(Object, Object)

Бросает UnsupportedOperationException.

Remove(Object)

Добавление

(Унаследовано от AbstractMap)
Replace(Object, Object, Object)

Реализация на основе NavigableMap дерева Red-Black.

Replace(Object, Object)

Реализация на основе NavigableMap дерева Red-Black.

ReplaceAll(IBiFunction)

Реализация на основе NavigableMap дерева Red-Black.

SetHandle(IntPtr, JniHandleOwnership)

Задает свойство Handle.

(Унаследовано от Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Реализация на основе NavigableMap дерева Red-Black.

(Унаследовано от JavaObject)
Size()

Добавление

(Унаследовано от AbstractMap)
SubMap(Object, Boolean, Object, Boolean)

Добавлено в 1.

SubMap(Object, Object)

Реализация на основе NavigableMap дерева Red-Black.

TailMap(Object, Boolean)

Добавлено в 1.

TailMap(Object)

Реализация на основе NavigableMap дерева Red-Black.

ToArray<T>()

Создает управляемый массив из этого Java оболочки массива.

(Унаследовано от Object)
ToString()

Возвращает строковое представление объекта.

(Унаследовано от Object)
UnregisterFromRuntime()

Отменяет регистрацию этого Java однорангового узла из среды выполнения взаимодействия.

(Унаследовано от Object)
Values()

Добавление

(Унаследовано от AbstractMap)
Wait()

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, путем <><уведомления/>em или <эм>прерванного</em.>

(Унаследовано от Object)
Wait(Int64, Int32)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прерваны< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)
Wait(Int64)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прерваны< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)

Явные реализации интерфейса

Имя Описание
IJavaPeerable.Disposed()

Реализация на основе NavigableMap дерева Red-Black.

(Унаследовано от JavaObject)
IJavaPeerable.Finalized()

Реализация на основе NavigableMap дерева Red-Black.

(Унаследовано от JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Реализация на основе NavigableMap дерева Red-Black.

(Унаследовано от JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Реализация на основе NavigableMap дерева Red-Black.

(Унаследовано от JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Реализация на основе NavigableMap дерева Red-Black.

(Унаследовано от JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Реализация на основе NavigableMap дерева Red-Black.

(Унаследовано от JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Реализация на основе NavigableMap дерева Red-Black.

Методы расширения

Имя Описание
GetJniTypeName(IJavaPeerable)

Возвращает имя JNI типа экземпляра self.

JavaAs<TResult>(IJavaPeerable)

Попробуйте принуждать к типуself, проверяяTResult, является ли приведение допустимым на стороне Java.

JavaCast<TResult>(IJavaObject)

Выполняет преобразование типа, проверяемого средой выполнения Android.

JavaCast<TResult>(IJavaObject)

Реализация на основе NavigableMap дерева Red-Black.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Попробуйте принуждать к типуself, проверяяTResult, является ли приведение допустимым на стороне Java.

Применяется к