EnumSet stores enum constants as bits, making it far smaller and faster than HashSet, and it always iterates in declaration order.
enum Day { MON, TUE, WED, THU, FRI, SAT, SUN }
var weekend = EnumSet.of(Day.SAT, Day.SUN);
var weekdays = EnumSet.complementOf(weekend);
var midweek = EnumSet.range(Day.TUE, Day.THU);
System.out.println("weekend = " + weekend);
System.out.println("weekdays = " + weekdays);
System.out.println("midweek = " + midweek);
System.out.println("all = " + EnumSet.allOf(Day.class));
weekend = [SAT, SUN]
weekdays = [MON, TUE, WED, THU, FRI]
midweek = [TUE, WED, THU]
all = [MON, TUE, WED, THU, FRI, SAT, SUN]
Run this yourself in the Online Java Compiler, spin up a live REST API in the API Sandbox, or practise with Java interview questions.
Published 2026-07-30