Lớp EnumSet trong java là một cài đặt chuyên biệt để sử dụng với các kiểu enum. Nó kế thừa lớp Enum và lớp AbstractSet.
Nội dung chính
Hierarchy của lớp EnumSet
Khai báo của lớp EnumSet
Dưới đây là khai báo của lớp java.util.EnumSet trong java
public abstract class EnumSet<E extends Enum<E>> extends AbstractSet<E> implements Cloneable, Serializable
Các phương thức của lớp EnumSet trong java
Method | Description |
---|---|
static <E extends Enum<E>> EnumSet<E> allOf(Class<E> elementType) | Nó được sử dụng để tạo ra một bộ enum chứa tất cả các phần tử trong kiểu phần tử được chỉ định. |
static <E extends Enum<E>> EnumSet<E> copyOf(Collection<E> c) | Nó được sử dụng để tạo ra một bộ enum khởi tạo từ bộ sưu tập được chỉ định. |
static <E extends Enum<E>> EnumSet<E> noneOf(Class<E> elementType) | Nó được sử dụng để tạo một tập hợp enum rỗng với kiểu phần tử được chỉ định. |
static <E extends Enum<E>> EnumSet<E> of(E e) | Nó được sử dụng để tạo một bộ enum ban đầu có chứa các phần tử được chỉ định. |
static <E extends Enum<E>> EnumSet<E> range(E from, E to) | Nó được sử dụng để tạo một bộ enum ban đầu chứa các phần tử được chỉ định. |
EnumSet<E> clone() | Nó được sử dụng để trả về một bản sao của đối tượng set này. |
Ví dụ về EnumSet trong java
Ví dụ 1: sử dụng phương thức EnumSet.of().
package vn.viettuts.collection; import java.util.EnumSet; import java.util.Iterator; import java.util.Set; /** * create enum * * @author viettuts.vn */ enum days { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY } /** * EnumSetExample1 class * * @author viettuts.vn */ public class EnumSetExample1 { public static void main(String[] args) { Set<days> set = EnumSet.of(days.MONDAY, days.TUESDAY, days.WEDNESDAY); // traversing elements Iterator<days> iter = set.iterator(); while (iter.hasNext()) System.out.println(iter.next()); } }
Kết quả:
MONDAY TUESDAY WEDNESDAY
Ví dụ 2: sử dụng phương thức EnumSet.allOf() và EnumSet.noneOf().
package vn.viettuts.collection; import java.util.EnumSet; import java.util.Set; /** * create enum * * @author viettuts.vn */ enum days { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY } /** * EnumSetExample1 class * * @author viettuts.vn */ public class EnumSetExample2 { 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); } }
Kết quả:
Week Days:[SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY] Week Days:[]