EnumSet complementOf() Method in Java (original) (raw)

Last Updated : 03 Oct, 2018

The java.util.EnumSet.complementOf(Enum_Set) method is used to create an EnumSet containing elements of the same type as that of the specified Enum_Set, with the values present in the enum but other than those contained in the specified Enum_Set.Syntax:

New_Enum_Set = EnumSet.complementOf(EnumSet)

Parameters: The method accepts one parameter Enum_Set whose values are to be neglected while populating the values into the new complemented enum set.Return Values: The method does not return any values.Exceptions: The method throws NullPointerException if the value Enum_Set is NULL. Below programs illustrate the working of java.util.EnumSet.complementOf() method:Program 1:

Java `

// Java program to demonstrate complementOf() 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 EnumSet
    // Getting elements from GFG
    EnumSet<GFG> e_set = EnumSet.of(GFG.To, GFG.Welcome,
                                    GFG.Geeks);

    // Displaying the empty EnumSet
    System.out.println("Initial set: " + e_set);

    // Cloning the set
    EnumSet<GFG> final_set = EnumSet.complementOf(e_set);

    // Displaying the final set
    System.out.println("The updated set is:" + final_set);
}

}

`

Output:

Initial set: [Welcome, To, Geeks] The updated set is:[The, World, of]

Program 2:

Java `

// Java program to demonstrate complementOf() 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 empty EnumSet
    System.out.println("Initial set: " + e_set);

    // Cloning the set
    EnumSet<CARS> final_set = EnumSet.complementOf(e_set);

    // Displaying the final set
    System.out.println("The updated set is:" + final_set);
}

}

`

Output:

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