Fill a List With All Enum Values in Java
Filling a List With All Enum Values in Java
Java enum types provide a great way to define a set of related constants that can be used in code. But sometimes you may need to work with a list of all the possible enum values, or iterate over them. Fortunately, Java provides a few ways to do this.
Using Enum.values() method
The simplest and most common way to get a list of all possible enum values is to use the Enum.values() method. This method returns an array of all enum constants, which you can then easily convert into a list using the Arrays.asList() method.
public enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
THURSDAY, FRIDAY, SATURDAY
}
// Get array of enum constants
Day[] days = Day.values();
// Convert it to a list
List<Day> list = Arrays.asList(days);
Using a for loop
Another way to get all enum values is to iterate over the enum type directly. Here's an example of how to do this using a for loop:
public enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
THURSDAY, FRIDAY, SATURDAY
}
// Create a list object
List<Day> list = new ArrayList<>();
// Iterate over enum constants and add them to list
for (Day day : Day.values()) {
list.add(day);
}
Using Streams API
If you are using Java 8 or higher, you can even use the Streams API to get a list of all enum values. Here's an example of how to do this:
public enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
THURSDAY, FRIDAY, SATURDAY
}
// Convert enum to a list
List<Day> list = Stream.of(Day.values())
.collect(Collectors.toList());
As you can see, there are a few different ways to fill a list with all enum values in Java. So pick the one that works best for your particular situation.