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<MyEnum> 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 |
Возвращает класс среды выполнения этого |
Handle |
Дескриптор базового экземпляра Android. (Унаследовано от Object) |
IsEmpty |
Добавление (Унаследовано от AbstractCollection) |
JniIdentityHashCode |
Специализированная |
JniPeerMembers |
Специализированная |
PeerReference |
Специализированная |
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() |
Специализированная |
Dispose(Boolean) |
Специализированная |
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() |
Возвращает количество объектов, содержащихся в нем |
ToArray() |
Добавление (Унаследовано от AbstractCollection) |
ToArray(Object[]) |
Добавление (Унаследовано от AbstractCollection) |
ToArray<T>() |
Специализированная |
ToString() |
Возвращает строковое представление объекта. (Унаследовано от Object) |
UnregisterFromRuntime() |
Специализированная |
Wait() |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>помощи уведомления</em> или <эм>прерванного</em>. (Унаследовано от Object) |
Wait(Int64) |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени. (Унаследовано от Object) |
Wait(Int64, Int32) |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>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) |
Специализированная |