个性化阅读
专注于IT技术分析

Java EnumSet类

本文概述

Java EnumSet类是用于枚举类型的专用Set实现。它继承AbstractSet类并实现Set接口。

EnumSet类层次结构

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:[]
赞(0)
未经允许不得转载:srcmini » Java EnumSet类

评论 抢沙发

评论前必须登录!