Java教程

Java EnumSet

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类的方法

方法 说明
static <E extends Enum<E>> EnumSet<E> allOf(Class<E> elementType) 用于创建包含指定元素类型中所有元素的枚举集。
static <E extends Enum<E>> EnumSet<E> copyOf(Collection c) 用于创建从指定集合初始化的枚举集。
static <E extends Enum<E>> EnumSet<E> noneOf(Class<E> elementType) 它用于创建具有指定元素类型的空枚举集。
static <E extends Enum<E>> EnumSet<E> of(E e) 用于创建最初包含指定元素的枚举集。
static <E extends Enum<E>> EnumSet<E> range(E from, E to) 用于创建最初包含指定元素的枚举集。
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);
        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:[]
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4