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) |
Специализированная |