
- Java.util - Home
- Java.util - ArrayDeque
- Java.util - ArrayList
- Java.util - Arrays
- Java.util - BitSet
- Java.util - Calendar
- Java.util - Collections
- Java.util - Currency
- Java.util - Date
- Java.util - Dictionary
- Java.util - EnumMap
- Java.util - EnumSet
- Java.util - Formatter
- Java.util - GregorianCalendar
- Java.util - HashMap
- Java.util - HashSet
- Java.util - Hashtable
- Java.util - IdentityHashMap
- Java.util - LinkedHashMap
- Java.util - LinkedHashSet
- Java.util - LinkedList
- Java.util - ListResourceBundle
- Java.util - Locale
- Java.util - Observable
- Java.util - PriorityQueue
- Java.util - Properties
- Java.util - PropertyPermission
- Java.util - PropertyResourceBundle
- Java.util - Random
- Java.util - ResourceBundle
- Java.util - ResourceBundle.Control
- Java.util - Scanner
- Java.util - ServiceLoader
- Java.util - SimpleTimeZone
- Java.util - Stack
- Java.util - StringTokenizer
- Java.util - Timer
- Java.util - TimerTask
- Java.util - TimeZone
- Java.util - TreeMap
- Java.util - TreeSet
- Java.util - UUID
- Java.util - Vector
- Java.util - WeakHashMap
- Java.util - Interfaces
- Java.util - Exceptions
- Java.util - Enumerations
- Java.util Useful Resources
- Java.util - Useful Resources
- Java.util - Discussion
Java EnumSet complementOf() Method
Description
The java.util.EnumSet.complementOf(EnumSet<E> s) method creates an enum set with the same element type as the specified enum set.It contains all the elements of this type that are not contained in the specified set.
Declaration
Following is the declaration for java.util.EnumSet.complementOf() method
public static <E extends Enum<E>> EnumSet<E> complementOf(EnumSet<E> s)
Parameters
s − the enum set from whose complement to initialize this enum set.
Return Value
This method does not return any value.
Exception
NullPointerException − if s is null
Getting Complement Set of EnumSet Example
The following example shows the usage of Java EnumSet complementOf(EnumSet) method to populate the EnumSet instance. We've created a enum Numbers. Then a EnumSet instance is created using a enum value. Using complementOf(EnumSet) method, enumSet is populated with remaining values of enum and resulted enumSet is printed.
package com.tutorialspoint; import java.util.EnumSet; public class EnumSetDemo { // create an enum public enum Numbers { ONE, TWO, THREE, FOUR, FIVE }; public static void main(String[] args) { // create an EnumSet that has only Numbers.FOUR as element EnumSet<Numbers> set1 = EnumSet.of(Numbers.FOUR); // print the set System.out.println("Set1:" + set1); // create a set2 which has all elements that set1 doesn't have EnumSet<Numbers> set2 = EnumSet.complementOf(set1); // print the updated set System.out.println("Set2:" + set2); } }
Output
Let us compile and run the above program, this will produce the following result −
Set1:[FOUR] Set2:[ONE, TWO, THREE, FIVE]
Getting Complement Set of EnumSet of Enum with Values Example
The following example shows the usage of Java EnumSet complementOf(EnumSet) method to populate the EnumSet instance. We've created a enum Number. Then a EnumSet instance is created using a enum value. Using complementOf(EnumSet) method, enumSet is populated with remaining values of enum and resulted enumSet is printed.
package com.tutorialspoint; import java.util.EnumSet; public class EnumSetDemo { // create an enum public enum Number { ONE("1"), TWO("2"), THREE("3"), FOUR("4"), FIVE("5"); // instance variable for enum private String value; public String getValue() { return this.value; } // constructor should be private or protected private Number(String value) { this.value = value; } @Override public String toString() { return this.name() +"(" + this.value + ")"; } }; public static void main(String[] args) { // create an EnumSet that has only Numbers.FOUR as element EnumSet<Number> set1 = EnumSet.of(Number.FOUR); // print the set System.out.println("Set1:" + set1); // create a set2 which has all elements that set1 doesn't have EnumSet<Number> set2 = EnumSet.complementOf(set1); // print the updated set System.out.println("Set2:" + set2); } }
Output
Let us compile and run the above program, this will produce the following result −
Set1:[FOUR(4)] Set2:[ONE(1), TWO(2), THREE(3), FIVE(5)]