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“位标志”的高质量类型保护替代方法。 即使批量操作(如 containsAllretainAll)也应当非常快地运行,前提是其参数也是枚举集。

方法返回 iterator 的迭代器按其 自然顺序 遍历元素(声明枚举常量的顺序)。 返回的迭代器是 弱一致的:它永远不会引发 ConcurrentModificationException ,并且它可能会或可能不会显示对迭代正在进行时发生的集的任何修改的影响。

不允许使用 Null 元素。 尝试插入 null 元素将引发 NullPointerException。 尝试测试是否存在 null 元素或删除一个元素,但会正常运行。

与大多数集合实现一样, EnumSet 不会同步。 如果多个线程并发访问枚举集,并且至少有一个线程修改了该集,则应在外部同步它。 这通常是通过在自然封装枚举集的某些对象上进行同步来实现的。 如果不存在此类对象,则应使用 Collections#synchronizedSet 该方法“包装”集。 最好在创建时完成此操作,以防止意外的未同步访问:

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

实现说明:所有基本操作都在恒定时间内执行。 他们很可能(虽然不能保证)比同行 HashSet 快得多。 即使批量操作在常量时间内执行(如果其参数也是枚举集)。

此类是 Java 集合框架的成员

在 1.5 中添加。

适用于 . 的 java.util.EnumSetJava 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

构造函数

EnumSet(IntPtr, JniHandleOwnership)

创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。

属性

Class

返回此 Object的运行时类。

(继承自 Object)
Handle

基础 Android 实例的句柄。

(继承自 Object)
IsEmpty

要添加

(继承自 AbstractCollection)
JniIdentityHashCode

用于枚举类型的专用 Set 实现。

(继承自 Object)
JniPeerMembers

用于枚举类型的专用 Set 实现。

PeerReference

用于枚举类型的专用 Set 实现。

(继承自 Object)
ThresholdClass

此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。

ThresholdType

此 API 支持 Mono for 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> 或 <em>interrupted</em>。<><

(继承自 Object)
Wait(Int64)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted</em>>,或直到经过一定数量的实时。

(继承自 Object)
Wait(Int64, Int32)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted</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 实现。

适用于