Язык

EnumMap Класс

Определение

Специализированная Map реализация для использования с ключами типа перечисления.

[Android.Runtime.Register("java/util/EnumMap", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "K extends java.lang.Enum<K>", "V" })]
public class EnumMap : Java.Util.AbstractMap, IDisposable, Java.IO.ISerializable, Java.Lang.ICloneable
[<Android.Runtime.Register("java/util/EnumMap", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "K extends java.lang.Enum<K>", "V" })>]
type EnumMap = class
    inherit AbstractMap
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface ICloneable
    interface IMap
Наследование
Атрибуты
Реализации

Комментарии

Специализированная Map реализация для использования с ключами типа перечисления. Все ключи в карте перечисления должны поступать из одного типа перечисления, который указан явно или неявно при создании карты. Карты перечисления представляются внутренне в виде массивов. Это представление является чрезвычайно компактным и эффективным.

Карты перечисления сохраняются в естественном порядке их ключей (порядок объявления констант перечисления). Это отражается в итераторах, возвращаемых представлениями коллекций (#keySet(), #entrySet()и ).#values()

Итераторы, возвращаемые представлениями коллекции , слабо согласованы: они никогда не будут создаваться ConcurrentModificationException , и они могут или не показывать эффекты любых изменений на карте, которая происходит во время выполнения итерации.

Ключи NULL не разрешены. Пытается вставить пустой ключ NullPointerException. Однако пытается проверить наличие ключа NULL или удалить его правильно. Допустимы значения NULL.

Как и большинство реализаций коллекции, не синхронизированы EnumMap . Если несколько потоков обращаются к схеме перечисления одновременно, и по крайней мере один из потоков изменяет карту, он должен быть синхронизирован во внешней среде. Обычно это достигается путем синхронизации с некоторым объектом, который естественно инкапсулирует карту перечисления. Если такой объект не существует, карта должна быть "упакована" с помощью Collections#synchronizedMap метода. Это лучше всего сделать во время создания, чтобы предотвратить случайный несинхронизированный доступ:

Map&lt;EnumKey, V&gt; m
                    = Collections.synchronizedMap(new EnumMap&lt;EnumKey, V&gt;(...));

Примечание о реализации: все основные операции выполняются в постоянное время. Они, скорее всего, (хотя и не гарантированы) будут быстрее, чем их HashMap коллеги.

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

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

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

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

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

Имя. Описание
EnumMap(Class)

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

EnumMap(EnumMap)

Создает карту перечисления с тем же типом ключа, что и указанная карта перечисления, изначально содержащая те же сопоставления (если таковые есть).

EnumMap(IDictionary)

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

EnumMap(IntPtr, JniHandleOwnership)

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

Свойства

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

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

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

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

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

Добавление

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

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

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

Специализированная Map реализация для использования с ключами типа перечисления.

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

Специализированная Map реализация для использования с ключами типа перечисления.

PeerReference

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

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

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

ThresholdType

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

Методы

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

Добавление

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

Возвращает неглубокую копию этой карты перечисления.

Construct(JniObjectReference, JniObjectReferenceOptions)

Специализированная Map реализация для использования с ключами типа перечисления.

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

Добавление

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

Добавление

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

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

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

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

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

Специализированная Map реализация для использования с ключами типа перечисления.

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

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

Equals(Object)

Специализированная Map реализация для использования с ключами типа перечисления.

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

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

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

Добавление

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

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

(Унаследовано от Object)
JavaFinalize()
Устаревшие.

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

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

Добавление

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

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

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

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

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

Добавление

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

Добавление

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

Добавление

(Унаследовано от AbstractMap)
SetHandle(IntPtr, JniHandleOwnership)

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

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

Специализированная Map реализация для использования с ключами типа перечисления.

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

Добавление

(Унаследовано от AbstractMap)
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()

Специализированная Map реализация для использования с ключами типа перечисления.

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

Специализированная Map реализация для использования с ключами типа перечисления.

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

Специализированная Map реализация для использования с ключами типа перечисления.

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

Специализированная Map реализация для использования с ключами типа перечисления.

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

Специализированная Map реализация для использования с ключами типа перечисления.

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

Специализированная Map реализация для использования с ключами типа перечисления.

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

Специализированная Map реализация для использования с ключами типа перечисления.

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

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

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

JavaAs<TResult>(IJavaPeerable)

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

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

Специализированная Map реализация для использования с ключами типа перечисления.

TryJavaCast<TResult>(IJavaPeerable, TResult)

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

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