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
.
Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой проектом и используемой в соответствии с условиями, Creative Commons 2.5 Attribution License Creative Commons 2.5 Attribution License.
Конструкторы
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>, <>прерывания< или> em, либо до истечения определенного количества реального времени. (Унаследовано от Object) |
Wait(Int64, Int32) |
Заставляет текущий поток ждать, пока он не будет пробужден, как правило, из-за <уведомления</>em>, <>прерывания< или> 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) |
Специализированная |