Java Iterating Over Enum values
In this tutorial, I am showing about enums iteration using different ways like forEach, stream and for loop.
An Java enum is a special data type which helps you to assign set
of predefined constants to a variable
Iterate With forEach()
// iterate using forEach EnumSet.allOf(DaysOfWeek.class) .forEach(day -> System.out.println(day));
Iterate With Stream
If you are using java 8 you can use streams for enum iteration
// iterate using stream Stream.of(DaysOfWeek.values()).forEach(System.out::println);
Iterate With for loop
You can use java for loop, if you are using old version of java
// iterate using for
for (DaysOfWeek day : DaysOfWeek.values()) {
System.out.println(day);
}
You can find the complete example of iterating enums below with all the above described ways.
package com.javatips;
import java.util.EnumSet;
import java.util.stream.Stream;
public class EnumsIteration {
public enum DaysOfWeek {
SUNDAY, MONDAY, TUESDAY, WEBNESDAY, THRUSDAY, FRIDAY, SATURDAY
}
public static void main(String[] args) {
// iterate using forEach
EnumSet.allOf(DaysOfWeek.class)
.forEach(day -> System.out.println(day));
// iterate using stream
Stream.of(DaysOfWeek.values()).forEach(System.out::println);
// iterate using for
for (DaysOfWeek day : DaysOfWeek.values()) {
System.out.println(day);
}
}
}
Output
SUNDAY MONDAY TUESDAY WEBNESDAY THRUSDAY FRIDAY SATURDAY SUNDAY MONDAY TUESDAY WEBNESDAY THRUSDAY FRIDAY SATURDAY SUNDAY MONDAY TUESDAY WEBNESDAY THRUSDAY FRIDAY SATURDAY