EnumSet 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
用于枚举类型的专用 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 元素。 尝试插入 null 元素将引发 NullPointerException
。 但是,尝试测试是否存在 null 元素或删除 null 元素会正常工作。
与大多数集合实现一样, EnumSet
不同步。 如果多个线程同时访问枚举集,并且至少有一个线程修改了该集,则应在外部同步该集。 这通常是通过在自然封装枚举集的某个对象上同步来实现的。 如果不存在此类对象,应使用 Collections#synchronizedSet
方法“包装”集。 最好在创建时执行此操作,以防止意外的未同步访问:
Set<MyEnum> s = Collections.synchronizedSet(EnumSet.noneOf(MyEnum.class));
实现说明:所有基本操作在恒定时间内执行。 它们可能 (,但不能保证) 比同行 HashSet
快得多。 如果批量操作的参数也是枚举集,则即使批量操作也会在恒定时间内执行。
此类是 Java 集合框架的成员。
在 1.5 中添加。
此页面的部分内容是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的术语使用。
构造函数
EnumSet(IntPtr, JniHandleOwnership) |
创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。 |
属性
Class |
返回此 |
Handle |
基础 Android 实例的句柄。 (继承自 Object) |
IsEmpty |
要添加 (继承自 AbstractCollection) |
JniIdentityHashCode |
用于枚举类型的专用 |
JniPeerMembers |
用于枚举类型的专用 |
PeerReference |
用于枚举类型的专用 |
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() |
用于枚举类型的专用 |
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> 或 <em>interrupted</em>。<> (继承自 Object) |
Wait(Int64) |
导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>,或直到经过一定数量的实时。<> (继承自 Object) |
Wait(Int64, Int32) |
导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</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) |
用于枚举类型的专用 |