一.什么是枚举集
EnumSet
是一个枚举类型元素集的高效实现。由于枚举集只有有限个实例,所以EnumSet
内部用位序列实现。如果对应的值在集中,则相应的位被置为1。
- EnumSet类没有公共的构造器。可以使用静态工厂方法构造这个集
public enum Weekday {
MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY
}
public static void main(String[] args) {
//创建一个包含指定所有元素的枚举集元素类型
EnumSet<Weekday> always = EnumSet.allOf(Weekday.class);
//System.out.println(always);
//创建具有指定元素类型的空枚举集
EnumSet<Weekday> never = EnumSet.noneOf(Weekday.class);
//System.out.println(never);
//创建一个最初包含所有元素的枚举集由两个指定端点定义的范围。 返回的集合将包含端点本身
EnumSet<Weekday> range = EnumSet.range(Weekday.MONDAY, Weekday.FRIDAY);
//System.out.println(range);
//创建最初包含指定元素的枚举集。
EnumSet<Weekday> mwf = EnumSet.of(Weekday.MONDAY, Weekday.WEDNESDAY, Weekday.FRIDAY);
System.out.println(mwf);
}