To iterate over enum, you have to use values() method.
When using values() method, you can iterate through enum as if it was an array.
In this example, I use this enum.
1 2 3 4 5 |
public enum DayOfTheWeek { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY } |
Java 7 or lower example
1. Get element by index.
1 2 3 4 5 6 7 |
for (int i = 0; i < DayOfTheWeek.values().length; i++){ //do sth with DayOfTheWeek.values()[i] System.out.println(DayOfTheWeek.values()[i]); } |
2. Iterate using enhanced loop.
In the belove example dayOfTheWeek holds the current value of enum element.
1 2 3 4 5 6 |
for (DayOfTheWeek dayOfTheWeek : DayOfTheWeek.values()){ //do sth with dayOfTheWeek System.out.println(dayOfTheWeek); } |
Both programs prints:
1 2 3 4 5 6 7 8 9 |
MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY SATURDAY SUNDAY |
Java 8 example.
In Java 8, we can use Arrays.stream and a lambda expression to iterate over enum.
1 2 3 4 5 6 |
Arrays.stream(DayOfTheWeek.values()).forEach(dayOfTheWeek -> { //do sth with dayOfTheWeek System.out.println(dayOfTheWeek); }); |