public abstract class EnumSet<E extends Enum<E>> extends AbstractSet<E> implements Cloneable, Serializable
Set实施。所有在一个枚举集合中的元素必须是一个枚举类型,指定显式或隐式,当设置了。枚举集合的内部表示为位向量。这种表示是非常紧凑和有效的。这节课的时间和空间性能要足够好,让它作为一种优质、安全的替代传统的
int-based“标志位”。甚至批量操作(如
containsAll和
retainAll)应该跑得很快,如果他们的论点也是一个枚举集。
返回的迭代器的iterator方法遍历元素在他们的自然秩序(即枚举常量的声明顺序)。返回的迭代器是弱一致的:它永远不会把ConcurrentModificationException它可能或不可能的发生的任何修改的影响而迭代过程中。
不允许空元素。试图插入一个空元素将把NullPointerException。试图为空元素的存在或删除一个将测试然而,功能正常。
最喜欢收集实现,EnumSet不同步。如果多个线程访问一个枚举集合的同时,并至少有一个线程修改的集合,它应该是同步的外部。这通常是通过同步的一些对象,自然封装枚举集。如果该对象不存在,设定应该是“包裹”使用Collections.synchronizedSet(java.util.Set<T>)方法。最好的做法是在创建时,防止意外的同步访问:
集<< myenum > =集合。synchronizedset(EnumSet。没有(myenum。类));
执行说明:所有基本的操作都在固定的时间内执行。他们有可能(但不保证)会比他们的HashSet快很多。即使批量操作执行在恒定的时间如果他们的论点也是一个枚举集。
这个班的一员 Java Collections Framework。
EnumMap
| Modifier and Type | Method and Description |
|---|---|
static <E extends Enum<E>> |
allOf(类<E> elementType)
创建一个枚举集合包含所有在指定元素类型的元素。
|
EnumSet<E> |
clone()
返回此集合的一个副本。
|
static <E extends Enum<E>> |
complementOf(EnumSet<E> s)
创建一个枚举设置相同的元素类型为指定枚举集,最初包含所有这一类型的,不包含在指定集合中的元素。
|
static <E extends Enum<E>> |
copyOf(Collection<E> c)
创建一个枚举集合初始化指定集合。
|
static <E extends Enum<E>> |
copyOf(EnumSet<E> s)
创建一个枚举设置相同的元素类型为指定枚举集,最初包含相同的元素(如果有)。
|
static <E extends Enum<E>> |
noneOf(类<E> elementType)
创建一个空的枚举设置指定元素类型。
|
static <E extends Enum<E>> |
of(E e)
创建一个枚举集最初包含指定元素。
|
static <E extends Enum<E>> |
of(E first, E... rest)
创建一个枚举集最初包含指定的元素。
|
static <E extends Enum<E>> |
of(E e1, E e2)
创建一个枚举集最初包含指定的元素。
|
static <E extends Enum<E>> |
of(E e1, E e2, E e3)
创建一个枚举集最初包含指定的元素。
|
static <E extends Enum<E>> |
of(E e1, E e2, E e3, E e4)
创建一个枚举集最初包含指定的元素。
|
static <E extends Enum<E>> |
of(E e1, E e2, E e3, E e4, E e5)
创建一个枚举集最初包含指定的元素。
|
static <E extends Enum<E>> |
range(E from, E to)
创建一个枚举集合包含所有在最初的两个端点定义指定范围的元素。
|
equals, hashCode, removeAlladd, addAll, clear, contains, containsAll, isEmpty, iterator, remove, retainAll, size, toArray, toArray, toStringfinalize, getClass, notify, notifyAll, wait, wait, waitadd, addAll, clear, contains, containsAll, isEmpty, iterator, remove, retainAll, size, spliterator, toArray, toArrayparallelStream, removeIf, streampublic static <E extends Enum<E>> EnumSet<E> noneOf(类<E> elementType)
E -集合中的元素的类
elementType -该枚举的元素类型的集合类对象
NullPointerException -如果
elementType是空的
public static <E extends Enum<E>> EnumSet<E> allOf(类<E> elementType)
E -集合中的元素的类
elementType -该枚举的元素类型的集合类对象
NullPointerException -如果
elementType是空的
public static <E extends Enum<E>> EnumSet<E> copyOf(EnumSet<E> s)
E -集合中的元素的类
s -枚举集合的初始化这个枚举集
NullPointerException -如果
s是空的
public static <E extends Enum<E>> EnumSet<E> copyOf(Collection<E> c)
copyOf(EnumSet)。否则,指定集合中必须至少包含一个元素(以确定新的枚举集合的元素类型)。
E -集合中的元素的类
c -集合的初始化这个枚举集
IllegalArgumentException -如果
c不是
EnumSet实例不包含元素
NullPointerException -如果
c是空的
public static <E extends Enum<E>> EnumSet<E> complementOf(EnumSet<E> s)
E -在枚举的元素设置类
s -枚举集的补充来初始化该枚举集
NullPointerException -如果
s是空的
public static <E extends Enum<E>> EnumSet<E> of(E e)
E -指定元素和集合类
e -这集是包含最初的元素
NullPointerException -如果
e是空的
public static <E extends Enum<E>> EnumSet<E> of(E e1, E e2)
E -参数元素和集合类
e1 -这集是包含最初的元素
e2 -另一个元素,这个集合是包含最初
NullPointerException -如果任何参数为空
public static <E extends Enum<E>> EnumSet<E> of(E e1, E e2, E e3)
E -参数元素和集合类
e1 -这集是包含最初的元素
e2 -另一个元素,这个集合是包含最初
e3 -另一个元素,这个集合是包含最初
NullPointerException -如果任何参数为空
public static <E extends Enum<E>> EnumSet<E> of(E e1, E e2, E e3, E e4)
E -参数元素和集合类
e1 -这集是包含最初的元素
e2 -另一个元素,这个集合是包含最初
e3 -另一个元素,这个集合是包含最初
e4 -另一个元素,这个集合是包含最初
NullPointerException -如果任何参数为空
public static <E extends Enum<E>> EnumSet<E> of(E e1, E e2, E e3, E e4, E e5)
E -参数元素和集合类
e1 -这集是包含最初的元素
e2 -另一个元素,这个集合是包含最初
e3 -另一个元素,这个集合是包含最初
e4 -另一个元素,这个集合是包含最初
e5 -另一个元素,这个集合是包含最初
NullPointerException -如果任何参数为空
@SafeVarargs public static <E extends Enum<E>> EnumSet<E> of(E first, E... rest)
E -参数元素和集合类
first -集包含最初的元素
rest -剩下的元素的集合包含最初
NullPointerException -如果任何指定的元素是零,或者如果
rest是空的
public static <E extends Enum<E>> EnumSet<E> range(E from, E to)
E -参数元素和集合类
from -范围内的第一个元素
to -范围内的最后一个元素
NullPointerException -如果
from或
to是空的
from.compareTo(to) > 0
IllegalArgumentException
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.