本文概述
Java EnumSet类是用于枚举类型的专用Set实现。它继承AbstractSet类并实现Set接口。
EnumSet类层次结构
EnumSet类的层次结构在下图中给出。
EnumSet类声明
我们来看一下java.util.EnumSet类的声明。
public abstract class EnumSet<E extends Enum<E>> extends AbstractSet<E> implements Cloneable, Serializable
Java EnumSet类的方法
方法 | 描述 |
---|---|
静态<E扩展Enum <E >> EnumSet <E> allOf(Class <E> elementType) | 它用于创建一个枚举集, 其中包含指定元素类型中的所有元素。 |
静态<E扩展Enum <E >> EnumSet <E> copyOf(Collection <E> c) | 它用于创建从指定集合初始化的枚举集。 |
静态<E扩展Enum <E >> EnumSet <E> noneOf(Class <E> elementType) | 它用于创建具有指定元素类型的空枚举集。 |
静态<E扩展(E e)的Enum <E >> EnumSet <E> | 它用于创建最初包含指定元素的枚举集。 |
静态<E扩展了Enum <E >> EnumSet <E>范围(E从, E到) | 它用于创建最初包含指定元素的枚举集。 |
EnumSet <E> clone() | 它用于返回此集合的副本。 |
Java EnumSet示例
import java.util.*;
enum days {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
}
public class EnumSetExample {
public static void main(String[] args) {
Set<days> set = EnumSet.of(days.TUESDAY, days.WEDNESDAY);
// Traversing elements
Iterator<days> iter = set.iterator();
while (iter.hasNext())
System.out.println(iter.next());
}
}
输出:
TUESDAY
WEDNESDAY
Java EnumSet示例:allOf()和noneOf()
import java.util.*;
enum days {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
}
public class EnumSetExample {
public static void main(String[] args) {
Set<days> set1 = EnumSet.allOf(days.class);
System.out.println("Week Days:"+set1);
Set<days> set2 = EnumSet.noneOf(days.class);
System.out.println("Week Days:"+set2);
}
}
输出:
Week Days:[SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY]
Week Days:[]
评论前必须登录!
注册