0Pricing
Java Academy · Lesson

EnumSet and EnumMap

Use EnumSet and EnumMap for efficient, type-safe enum-based collections.

EnumSet and EnumMap

EnumSet and EnumMap are highly optimized collection implementations for enums. They use bit vectors internally — much faster than HashSet/HashMap for enum keys.

EnumSet: Creating Sets

EnumSet provides factory methods to create sets of enum constants.

import java.util.*;

enum Day { MON, TUE, WED, THU, FRI, SAT, SUN }

EnumSet<Day> weekdays  = EnumSet.range(Day.MON, Day.FRI);
EnumSet<Day> weekend   = EnumSet.of(Day.SAT, Day.SUN);
EnumSet<Day> allDays   = EnumSet.allOf(Day.class);
EnumSet<Day> noDays    = EnumSet.noneOf(Day.class);

System.out.println(weekdays); // [MON, TUE, WED, THU, FRI]
System.out.println(weekend);  // [SAT, SUN]
System.out.println(allDays.size()); // 7

All lessons in this course

  1. Defining and Using Enums
  2. Enums with Fields and Methods
  3. Switch Expressions with Enums
  4. EnumSet and EnumMap
← Back to Java Academy