- The java.util.EnumSet.of(E ele1, E ele2, E ele3, …) method in Java is used to create an enum set initially containing the specified elements in the parameters. When multiple items are added at the same time the elements are pushed down the set as the new elements are added. When different elements are added at different time or iteration, the old elements get replaced.
Syntax:
Enum_Set = EnumSet.of(E ele1, E ele2, E ele3, ...)
Parameters: The method can take multiple parameters as many as present in the enum.
Return Values: The method returns an enum set initially containing the specified elements passed through the parameter.
Exceptions: The method throws NullPointerException if any element passed is NULL.
Below programs illustrate the working of java.util.EnumSet.of() method:
Program 1: Adding one element at a time replaces the previous element.// Java program to demonstrate range() methodimportjava.util.*;// Creating an enum of GFG typeenumGFG {Welcome,To,The,World,of,Geeks};publicclassEnum_Set_Demo {publicstaticvoidmain(String[] args){// Creating an EnumSetEnumSet<GFG> e_set;// Adding elementse_set = EnumSet.of(GFG.The);// Displaying the updated setSystem.out.println("The enum set is: "+ e_set);// Adding elementse_set = EnumSet.of(GFG.Geeks);// Displaying the updated setSystem.out.println("The enum set is: "+ e_set);// Adding elementse_set = EnumSet.of(GFG.Welcome);// Displaying the updated setSystem.out.println("The enum set is: "+ e_set);}}Output:The enum set is: [The] The enum set is: [Geeks] The enum set is: [Welcome]
Program 2: Adding two elements at the same time.
// Java program to demonstrate range() methodimportjava.util.*;// Creating an enum of GFG typeenumGFG {Welcome,To,The,World,of,Geeks};publicclassEnum_Set_Demo {publicstaticvoidmain(String[] args){// Creating an EnumSetEnumSet<GFG> e_set;// Adding elementse_set = EnumSet.of(GFG.The, GFG.Geeks);// Displaying the updated setSystem.out.println("The enum set is: "+ e_set);// Adding elementse_set = EnumSet.of(GFG.Geeks, GFG.Welcome);// Displaying the updated setSystem.out.println("The enum set is: "+ e_set);// Adding elementse_set = EnumSet.of(GFG.of, GFG.World);// Displaying the updated setSystem.out.println("The enum set is: "+ e_set);}}Output:The enum set is: [The, Geeks] The enum set is: [Welcome, Geeks] The enum set is: [World, of]
Program 3: Adding multiple elements at the same time.
// Java program to demonstrate range() methodimportjava.util.*;// Creating an enum of GFG typeenumGFG {Welcome,To,The,World,of,Geeks};publicclassEnum_Set_Demo {publicstaticvoidmain(String[] args){// Creating an EnumSetEnumSet<GFG> e_set;// Adding 2 elementse_set = EnumSet.of(GFG.The, GFG.Geeks);// Displaying the updated setSystem.out.println("The enum set is: "+ e_set);// Adding 3 elementse_set = EnumSet.of(GFG.The, GFG.Geeks, GFG.Welcome);// Displaying the updated setSystem.out.println("The enum set is: "+ e_set);// Adding 4 elementse_set = EnumSet.of(GFG.Geeks, GFG.Welcome,GFG.of, GFG.World);// Displaying the updated setSystem.out.println("The enum set is: "+ e_set);// Adding 5 elementse_set = EnumSet.of(GFG.Welcome, GFG.To, GFG.The,GFG.of, GFG.World, GFG.Geeks);// Displaying the updated setSystem.out.println("The enum set is: "+ e_set);}}Output:The enum set is: [The, Geeks] The enum set is: [Welcome, The, Geeks] The enum set is: [Welcome, World, of, Geeks] The enum set is: [Welcome, To, The, World, of, Geeks]
- The java.util.EnumSet.of(E_first, E_rest) is used to create an enum set initially containing all the specified elements. This factory, whose parameter list uses the var_args feature, can also be used to create an enum set initially containing an arbitrary number of elements, but it comes with a disadvantage of making the program to run slower than the overloadings that do not use var_args.
Syntax:public static <E extends Enum<E>> EnumSet<E> of(E_first, E_rest)
Parameters: The method takes two parameters:
- E_first: This is of enum type and refers to the element that the set is to contain initially.
- E_rest: This is also of enum type and refers to the rest of the elements the set needs to contain initially.
Return Values: The method returns an enum set initially containing the specified elements passed through the parameters.
Exceptions: The method throws NullPointerException if any element passed is NULL.
Below program illustrates the working of java.util.EnumSet.of(E_first, E_rest) method:
// Java program to demonstrate of() methodimportjava.util.*;// Creating an enum of GFG typeenumGFG {Welcome,To,The,World,of,Geeks};publicclassEnum_Set_Demo {publicstaticvoidmain(String[] args) {// Creating the ist that will be used as argsGFG[] listing = {GFG.Welcome, GFG.The,GFG.World, GFG.Geeks};// Calling the other main functionother_main(listing);}// The other_main.publicstaticvoidother_main(GFG[] other_args) {// Creating the setEnumSet<GFG> e_set;// Adding the first element and the other_argse_set = EnumSet.of(GFG.Welcome, other_args);// Displaying the e_setSystem.out.println("Set: "+ e_set);}}Output:Set: [Welcome, The, World, Geeks]
