EnumSet copyOf() Method in Java

  1. The java.util.EnumSet.copyOf(Collection collect) method in Java is used to copy all of the contents from a collection to a new enum set. At first, the collection is made out of the elements of the enum and then a new enum set is created, which is the copy of the collection.

    Syntax:

    New_Enum_Set = EnumSet.copyOf(Collection collect)

    Parameters: The method accepts one parameter collect of the object type of the enum and refers to the collection whose values are to be copied into the New_Enum_Set.

    Return Values: The method does not return any values.



    Exceptions:

    • IllegalArgumentException : This exception is thrown if collect is not an EnumSet instance and contains elements that cannot be compared with the enum or contains no element.
    • NullPointerException : This exception is thrown if collect is NULL.

    Below program illustrates the working of java.util.EnumSet.copyOf() method:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // Java program to demonstrate copyOf() 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 empty collection
            Collection<GFG> collect = new ArrayList<GFG>();
      
            // Adding elements to the Collection
            collect.add(GFG.Welcome);
            collect.add(GFG.World);
            collect.add(GFG.Geeks);
      
            // Displaying the collection
            System.out.println("The collection is: " + collect);
      
            EnumSet<GFG> e_set = EnumSet.copyOf(collect);
      
            // Displaying the final set
            System.out.println("The enum set is:" + e_set);
        }
    }

    chevron_right

    
    

    Output:

    The collection is: [Welcome, World, Geeks]
    The enum set is:[Welcome, World, Geeks]
    
  2. The java.util.EnumSet.copyOf(EnumSet e_set) method in Java is used to copy all of the contents from an existing EnumSet i.e., e_set, to a new enum set.

    Syntax:

    New_Enum_Set = EnumSet.copyOf(EnumSet e_set)

    Parameters: The method accepts one parameter e_set of the object type of the enum and refers to the set whose values are to be copied into the New_Enum_Set.

    Return Values: The method does not return any values.

    Exceptions: The method throws NullPointerException when e_set is NULL.

    Below program illustrates the working of java.util.EnumSet.copyOf() method:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // Java program to demonstrate copyOf() method
    import java.util.*;
      
    // Creating an enum of CARS type
    enum CARS {
        RANGE_ROVER,
        MUSTANG,
        CAMARO,
        AUDI,
        BMW
    }
    ;
      
    public class Enum_Set_Demo {
      
        public static void main(String[] args)
        {
      
            // Creating an empty EnumSet
            // Getting all elements from CARS
            EnumSet<CARS> e_set = EnumSet.allOf(CARS.class);        
      
            // Displaying the initial EnumSet
            System.out.println("Initial set is: " + e_set);
      
            // Copying the set
            EnumSet<CARS> new_set = EnumSet.copyOf(e_set);
      
            // Displaying the final set
            System.out.println("The new set is: " + new_set);
        }
    }

    chevron_right

    
    

    Output:

    Initial set is: [RANGE_ROVER, MUSTANG, CAMARO, AUDI, BMW]
    The new set is: [RANGE_ROVER, MUSTANG, CAMARO, AUDI, BMW]
    


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.




Article Tags :
Practice Tags :


Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.