Java EnumSet

Education is not limited to just classrooms. It can be gained anytime, anywhere... - Ravi Ranjan (M.Tech-NIT)

Java EnumSet class

Java EnumSet class is the specialized Set implementation for use with enum types. It inherits AbstractSet class and implements the Set interface.

EnumSet class hierarchy

EnumSet class hierarchy

The hierarchy of EnumSet class is given in the figure given below.

EnumSet class declaration

Let's see the declaration for java.util.EnumSet class.

  1. public abstract class EnumSet> extends AbstractSet implements Cloneable, Serializable

Methods of Java EnumSet class

 

Method

Description

static > EnumSet allOf(Class elementType)

It is used to create an enum set containing all of the elements in the specified element type.

static > EnumSet copyOf(Collection c)

It is used to create an enum set initialized from the specified collection.

static > EnumSet noneOf(Class elementType)

It is used to create an empty enum set with the specified element type.

static > EnumSet of(E e)

It is used to create an enum set initially containing the specified element.

static > EnumSet range(E from, E to)

It is used to create an enum set initially containing the specified elements.

EnumSet clone()

It is used to return a copy of this set.

Java EnumSet Example

  1. import java.util.*;  
  2. enum days {  
  3.   SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY  
  4. }  
  5. public class EnumSetExample {  
  6.   public static void main(String[] args) {  
  7.     Set set = EnumSet.of(days.TUESDAY, days.WEDNESDAY);  
  8.     // Traversing elements  
  9.     Iterator iter = set.iterator();  
  10.     while (iter.hasNext())  
  11.       System.out.println(iter.next());  
  12.   }  
  13. }  

Output:

TUESDAY
WEDNESDAY

 

Java EnumSet Example: allOf() and noneOf()

  1. import java.util.*;  
  2. enum days {  
  3.   SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY  
  4. }  
  5. public class EnumSetExample {  
  6.   public static void main(String[] args) {  
  7.     Set set1 = EnumSet.allOf(days.class);  
  8.       System.out.println("Week Days:"+set1);  
  9.       Set set2 = EnumSet.noneOf(days.class);  
  10.       System.out.println("Week Days:"+set2);     
  11.   }  
  12. }  

Output:

Week Days:[SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY]
Week Days:[]