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, removeAll
add, addAll, clear, contains, containsAll, isEmpty, iterator, remove, retainAll, size, toArray, toArray, toString
finalize, getClass, notify, notifyAll, wait, wait, wait
add, addAll, clear, contains, containsAll, isEmpty, iterator, remove, retainAll, size, spliterator, toArray, toArray
parallelStream, removeIf, stream
public 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.