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.

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

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

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>, <>прерывания< или> em, либо до истечения определенного количества реального времени.

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

Заставляет текущий поток ждать, пока он не будет пробужден, как правило, из-за <уведомления</>em>, <>прерывания< или> 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 реализация для использования с типами перечисления.

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