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