Java : EnumSet 示例

Java 中的 EnumSet (Java SE 23 & JDK 23) 及其示例。
您将找到大多数 EnumSet<E extends Enum<E>> 方法的代码示例。

注解 :

  • 本文可能使用了翻译软件以方便阅读。 另请查看英文原文

简介

用于枚举类型的专用 Set 实现。枚举集中的所有元素必须来自在创建集时明确或隐式指定的单个枚举类型。 (机器翻译)

Class diagram

final var set = EnumSet.of(
        DayOfWeek.MONDAY, DayOfWeek.TUESDAY, DayOfWeek.WEDNESDAY);
System.out.println(set); // [MONDAY, TUESDAY, WEDNESDAY]
System.out.println(set.size()); // 3

System.out.println(set.contains(DayOfWeek.MONDAY)); // true
System.out.println(set.contains(DayOfWeek.TUESDAY)); // true
System.out.println(set.contains(DayOfWeek.SUNDAY)); // false

Methods

static <E extends Enum<E>> EnumSet<E> allOf (Class<E> elementType)

创建一个包含指定元素类型的所有元素的枚举集。 (机器翻译)

final var set = EnumSet.allOf(DayOfWeek.class);

// [MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY]
System.out.println(set);

EnumSet<E> clone ()

返回此集合的副本。 (机器翻译)

final var set = EnumSet.of(
        DayOfWeek.MONDAY, DayOfWeek.TUESDAY, DayOfWeek.WEDNESDAY);
System.out.println(set); // [MONDAY, TUESDAY, WEDNESDAY]

final var cloned = set.clone();
System.out.println(cloned); // [MONDAY, TUESDAY, WEDNESDAY]

static <E extends Enum<E>> EnumSet<E> complementOf (EnumSet<E> s)

创建一个具有与指定枚举集相同元素类型的枚举集,初始包含指定集合中不包含的所有该类型的元素。 (机器翻译)

final var src = EnumSet.of(
        DayOfWeek.MONDAY, DayOfWeek.TUESDAY, DayOfWeek.WEDNESDAY);
System.out.println(src); // [MONDAY, TUESDAY, WEDNESDAY]

final var set = EnumSet.complementOf(src);
System.out.println(set); // [THURSDAY, FRIDAY, SATURDAY, SUNDAY]

static <E extends Enum<E>> EnumSet<E> copyOf (Collection<E> c)

创建一个从指定集合初始化的枚举集。 (机器翻译)

final Collection<DayOfWeek> c = List.of(
        DayOfWeek.MONDAY, DayOfWeek.TUESDAY, DayOfWeek.WEDNESDAY);
System.out.println(c); // [MONDAY, TUESDAY, WEDNESDAY]

final var set = EnumSet.copyOf(c);
System.out.println(set); // [MONDAY, TUESDAY, WEDNESDAY]

static <E extends Enum<E>> EnumSet<E> copyOf (EnumSet<E> s)

创建一个具有与指定枚举集相同元素类型的枚举集,最初包含相同的元素(如果有)。 (机器翻译)

final var s = EnumSet.of(
        DayOfWeek.MONDAY, DayOfWeek.TUESDAY, DayOfWeek.WEDNESDAY);
System.out.println(s); // [MONDAY, TUESDAY, WEDNESDAY]

final var set = EnumSet.copyOf(s);
System.out.println(set); // [MONDAY, TUESDAY, WEDNESDAY]

static <E extends Enum<E>> EnumSet<E> noneOf (Class<E> elementType)

创建具有指定元素类型的空枚举集。 (机器翻译)

final var set = EnumSet.noneOf(DayOfWeek.class);
System.out.println(set); // []
System.out.println(set.isEmpty()); // true

set.add(DayOfWeek.MONDAY);
System.out.println(set); // [MONDAY]
System.out.println(set.size()); // 1

set.add(DayOfWeek.TUESDAY);
System.out.println(set); // [MONDAY, TUESDAY]
System.out.println(set.size()); // 2

static <E extends Enum<E>> EnumSet<E> of (E e)

创建一个最初包含指定元素的枚举集。 (机器翻译)

final var set = EnumSet.of(DayOfWeek.MONDAY);
System.out.println(set); // [MONDAY]
System.out.println(set.size()); // 1

static <E extends Enum<E>> EnumSet<E> of (E e1, E e2)

创建一个最初包含指定元素的枚举集。 (机器翻译)

final var set = EnumSet.of(DayOfWeek.MONDAY, DayOfWeek.TUESDAY);
System.out.println(set); // [MONDAY, TUESDAY]
System.out.println(set.size()); // 2

static <E extends Enum<E>> EnumSet<E> of (E first, E... rest)

创建一个最初包含指定元素的枚举集。 (机器翻译)

final var set = EnumSet.of(
        DayOfWeek.MONDAY, DayOfWeek.TUESDAY, DayOfWeek.WEDNESDAY,
        DayOfWeek.THURSDAY, DayOfWeek.FRIDAY, DayOfWeek.SATURDAY);
System.out.println(set); // [MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY]
System.out.println(set.size()); // 6

static <E extends Enum<E>> EnumSet<E> of (E e1, E e2, E e3)

创建一个最初包含指定元素的枚举集。 (机器翻译)

final var set = EnumSet.of(
        DayOfWeek.MONDAY, DayOfWeek.TUESDAY, DayOfWeek.WEDNESDAY);
System.out.println(set); // [MONDAY, TUESDAY, WEDNESDAY]
System.out.println(set.size()); // 3

static <E extends Enum<E>> EnumSet<E> of (E e1, E e2, E e3, E e4)

创建一个最初包含指定元素的枚举集。 (机器翻译)

final var set = EnumSet.of(
        DayOfWeek.MONDAY, DayOfWeek.TUESDAY, DayOfWeek.WEDNESDAY,
        DayOfWeek.THURSDAY);
System.out.println(set); // [MONDAY, TUESDAY, WEDNESDAY, THURSDAY]
System.out.println(set.size()); // 4

static <E extends Enum<E>> EnumSet<E> of (E e1, E e2, E e3, E e4, E e5)

创建一个最初包含指定元素的枚举集。 (机器翻译)

final var set = EnumSet.of(
        DayOfWeek.MONDAY, DayOfWeek.TUESDAY, DayOfWeek.WEDNESDAY,
        DayOfWeek.THURSDAY, DayOfWeek.FRIDAY);
System.out.println(set); // [MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY]
System.out.println(set.size()); // 5

static <E extends Enum<E>> EnumSet<E> range (E from, E to)

创建一个枚举集,最初包含由两个指定端点定义的范围内的所有元素。 (机器翻译)

final var set = EnumSet.range(DayOfWeek.TUESDAY, DayOfWeek.FRIDAY);
System.out.println(set); // [TUESDAY, WEDNESDAY, THURSDAY, FRIDAY]
System.out.println(set.size()); // 4

Methods declared in AbstractSet

equals, hashCode, removeAll

请参阅下面的链接。

Methods declared in AbstractCollection

add, addAll, clear, contains, containsAll, isEmpty, iterator, remove, retainAll, toArray, toArray, toString

请参阅下面的链接。

Methods declared in Collection

parallelStream, removeIf, stream, toArray

请参阅下面的链接。

Methods declared in Iterable

forEach

请参阅下面的链接。

Methods declared in Set

add, addAll, clear, contains, containsAll, isEmpty, iterator, remove, retainAll, size, spliterator, toArray, toArray

请参阅下面的链接。


相关文章

To top of page