Java EnumSet 类

Java.util 包提供了一个 EnumSet 类,它是用于枚举类型的专门 Set 实现。枚举集中的所有元素必须来自创建该集合时显式或隐式指定的单个枚举类型。枚举集在内部表示为位向量。这种表示方式极其紧凑且高效。不允许使用空元素。尝试插入 null 元素将抛出 NullPointerException。

EnumSet 不同步。如果多个线程同时访问一个枚举集,并且至少有一个线程修改了该集,则应该进行外部同步。

类声明

java.util.EnumSet类的声明为:

public abstract class EnumSet<E extends Enum<E>>
  extends AbstractSet<E>
    implements Cloneable, Serializable 

java.util.EnumSet方法

java.util.EnumSet 类有许多方法,如下所列:

成员方法

序号方法和描述
1 .static <E extends Enum<E>> EnumSet<E> allOf(Class<E> elementType)
创建一个枚举集,其中包含指定元素类型中的所有元素。
2.EnumSet<E> clone()
返回该集合的副本。
3.static <E extends Enum<E>> EnumSet<E>pplementOf(EnumSet<E> s)
创建一个与指定枚举集具有相同元素类型的枚举集,最初包含指定集中未包含的所有该类型的元素。
4.static <E extends Enum<E>> EnumSet<E> copyOf (Collection<E> c)
创建一个从指定集合初始化的枚举集。
5.static <E extends Enum<E>> EnumSet<E> copyOf (EnumSet<E> s)
创建一个与指定枚举集具有相同元素类型的枚举集,最初包含相同的元素(如果有)。
6.static <E extends Enum<E>> EnumSet<E> noneOf(Class<E> elementType)
创建具有指定元素类型的空枚举集。
7.static <E extends Enum<E>> EnumSet<E> of (E e)
创建一个最初包含指定元素的枚举集。
8.static <E extends Enum<E>> EnumSet<E> of (E first,E...rust)
创建一个最初包含指定元素的枚举集。
9.static <E extends Enum<E>> EnumSet<E> of(E e1, E e2)
创建一个最初包含指定元素的枚举集。
10.static <E extends Enum<E>> EnumSet<E> of(E e1, E e2, E e3)
创建一个最初包含指定元素的枚举集。
11.static <E extends Enum<E>> EnumSet<E> of(E e1, E e2, E e3, E e4)
创建一个最初包含指定元素的枚举集。
12.static <E extends Enum<E>> EnumSet<E> of(E e1, E e2, E e3, E e4, E e5)
创建一个最初包含指定元素的枚举集。
13.static <E extends Enum<E>> EnumSet<E> range(E from, E to)
创建一个枚举集,最初包含由两个指定端点定义的范围内的所有元素。

继承的方法

该类继承了以下类的方法:

  • java.lang.Object
  • java.util.AbstractCollection<E>
  • java.util.AbstractSet<E>