Поделиться через


EnumSet Класс

Определение

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

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

Комментарии

Специализированная Set реализация для использования с типами перечисления. Все элементы в наборе перечислений должны поступать из одного типа перечисления, указанного явно или неявно при создании набора. Наборы перечисления представляются внутренне как векторы битов. Это представление является чрезвычайно компактным и эффективным. Производительность пространства и времени этого класса должна быть достаточно хорошей, чтобы разрешить его использование в качестве высококачественной альтернативы традиционным int"битовые флаги". Даже массовые операции (например containsAll , и retainAll) должны выполняться очень быстро, если их аргумент также является набором перечисления.

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

Недопустимые элементы NULL. Пытается вставить пустой элемент NullPointerException. Пытается проверить наличие элемента NULL или удалить его правильно.

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

Set&lt;MyEnum&gt; s = Collections.synchronizedSet(EnumSet.noneOf(MyEnum.class));

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

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

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

Документация по Java для java.util.EnumSet.

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

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

EnumSet(IntPtr, JniHandleOwnership)

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

Свойства

Class

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

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

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

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

Добавление

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

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

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

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

PeerReference

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

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

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

ThresholdType

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

Методы

Add(Object)

Добавление

(Унаследовано от AbstractCollection)
AddAll(ICollection)

Добавление

(Унаследовано от AbstractCollection)
AllOf(Class)

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

Clear()

Добавление

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

Возвращает копию этого набора.

ComplementOf(EnumSet)

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

Contains(Object)

Добавление

(Унаследовано от AbstractCollection)
ContainsAll(ICollection)

Добавление

(Унаследовано от AbstractCollection)
CopyOf(EnumSet)

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

CopyOf(ICollection)

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

Dispose()

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

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

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

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

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

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

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

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

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

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

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

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

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

Notify()

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

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

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

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

Создает набор перечислений, изначально содержащий указанный элемент.

Of(Object, Object)

Создает набор перечисления, изначально содержащий указанные элементы.

Of(Object, Object, Object)

Создает набор перечисления, изначально содержащий указанные элементы.

Of(Object, Object, Object, Object)

Создает набор перечисления, изначально содержащий указанные элементы.

Of(Object, Object, Object, Object, Object)

Создает набор перечисления, изначально содержащий указанные элементы.

Of(Object, Object[])

Создает набор перечисления, изначально содержащий указанные элементы.

Range(Object, Object)

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

Remove(Object)

Добавление

(Унаследовано от AbstractCollection)
RemoveAll(ICollection)

Добавление

(Унаследовано от AbstractCollection)
RetainAll(ICollection)

Добавление

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

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

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

Возвращает количество объектов, содержащихся в нем Collection .

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

Добавление

(Унаследовано от AbstractCollection)
ToArray(Object[])

Добавление

(Унаследовано от AbstractCollection)
ToArray<T>()

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

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

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

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

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

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

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

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

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

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

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

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

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

IJavaPeerable.Disposed()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

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

GetJniTypeName(IJavaPeerable)

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

ToEnumerable(IIterable)

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

ToEnumerable<T>(IIterable)

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

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