EnumSet of() Method in Java

  1. 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.

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // Java program to demonstrate range() method
    import java.util.*;
      
    // Creating an enum of GFG type
    enum GFG {
        Welcome,
        To,
        The,
        World,
        of,
        Geeks
    }
    ;
      
    public class Enum_Set_Demo {
      
        public static void main(String[] args)
        {
      
            // Creating an EnumSet
            EnumSet<GFG> e_set;
      
            // Adding elements
            e_set = EnumSet.of(GFG.The);
      
            // Displaying the updated set
            System.out.println("The enum set is: " + e_set);
      
            // Adding elements
            e_set = EnumSet.of(GFG.Geeks);
      
            // Displaying the updated set
            System.out.println("The enum set is: " + e_set);
      
            // Adding elements
            e_set = EnumSet.of(GFG.Welcome);
      
            // Displaying the updated set
            System.out.println("The enum set is: " + e_set);
        }
    }

    chevron_right

    
    

    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.

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // Java program to demonstrate range() method
    import java.util.*;
      
    // Creating an enum of GFG type
    enum GFG {
        Welcome,
        To,
        The,
        World,
        of,
        Geeks
    }
    ;
      
    public class Enum_Set_Demo {
      
        public static void main(String[] args)
        {
      
            // Creating an EnumSet
            EnumSet<GFG> e_set;
      
            // Adding elements
            e_set = EnumSet.of(GFG.The, GFG.Geeks);
      
            // Displaying the updated set
            System.out.println("The enum set is: " + e_set);
      
            // Adding elements
            e_set = EnumSet.of(GFG.Geeks, GFG.Welcome);
      
            // Displaying the updated set
            System.out.println("The enum set is: " + e_set);
      
            // Adding elements
            e_set = EnumSet.of(GFG.of, GFG.World);
      
            // Displaying the updated set
            System.out.println("The enum set is: " + e_set);
        }
    }

    chevron_right

    
    

    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.

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // Java program to demonstrate range() method
    import java.util.*;
      
    // Creating an enum of GFG type
    enum GFG {
        Welcome,
        To,
        The,
        World,
        of,
        Geeks
    }
    ;
      
    public class Enum_Set_Demo {
      
        public static void main(String[] args)
        {
      
            // Creating an EnumSet
            EnumSet<GFG> e_set;
      
            // Adding 2 elements
            e_set = EnumSet.of(GFG.The, GFG.Geeks);
      
            // Displaying the updated set
            System.out.println("The enum set is: " + e_set);
      
            // Adding 3 elements
            e_set = EnumSet.of(GFG.The, GFG.Geeks, GFG.Welcome);
      
            // Displaying the updated set
            System.out.println("The enum set is: " + e_set);
      
            // Adding 4 elements
            e_set = EnumSet.of(GFG.Geeks, GFG.Welcome,
                               GFG.of, GFG.World);
      
            // Displaying the updated set
            System.out.println("The enum set is: " + e_set);
      
            // Adding 5 elements
            e_set = EnumSet.of(GFG.Welcome, GFG.To, GFG.The,
                               GFG.of, GFG.World, GFG.Geeks);
      
            // Displaying the updated set
            System.out.println("The enum set is: " + e_set);
        }
    }

    chevron_right

    
    

    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]
    
  2. 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:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // Java program to demonstrate of() method
    import java.util.*;
      
    // Creating an enum of GFG type
    enum GFG {
        Welcome,
        To,
        The,
        World,
        of,
        Geeks
    }
    ;
    public class Enum_Set_Demo {
      
       public static void main(String[] args) {
      
          // Creating the ist that will be used as args
          GFG[] listing = {GFG.Welcome, GFG.The, 
                           GFG.World, GFG.Geeks};
      
          // Calling the other main function
          other_main(listing);
       }
      
       // The other_main.
       public static void other_main(GFG[] other_args) {
      
          // Creating the set
          EnumSet<GFG> e_set;
      
          // Adding the first element and the other_args
          e_set = EnumSet.of(GFG.Welcome, other_args);
      
          // Displaying the e_set
          System.out.println("Set: " + e_set);
       }
    }

    chevron_right

    
    

    Output:

    Set: [Welcome, The, World, Geeks]
    


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.



Improved By : vaibhav2992