How to loop an enum in Java

Call the .values() method of the enum class to return an array, and loop it with the for loop:


	for (EnumClass obj : EnumClass.values()) {
		System.out.println(obj);
    }

For Java 8, convert an enum into a stream and loop it:


	Stream.of(EnumClass.values()).forEach(System.out::println);

1. For Loop Enum

1.1 An enum to contain a list of the popular JVM languages:

Programming.java

package com.mkyong;

public enum Programming {
    CLOJURE,
    GROOVY,
    JAVA,
    KOTLIN,
    SCALA
}

1.2 To loop over the above enum class, just call .values() and do a normal for loop

Main.java

package com.mkyong;

public class Main {

    public static void main(String[] args) {

        for (Programming obj : Programming.values()) {
            System.out.println(obj);
        }
    }
	
}

Output


CLOJURE
GROOVY
JAVA
KOTLIN
SCALA

2. Java 8 Stream APIs

2.1 Convert an enum into a stream and filter out the SCALA

Main.java

package com.mkyong;

import java.util.stream.Stream;

public class Main {

    public static void main(String[] args) {

        Stream.of(Programming.values())
                .filter(x -> !x.toString().equals("SCALA"))
                .forEach(System.out::println);

    }
}

Output


CLOJURE
GROOVY
JAVA
KOTLIN

References

About the Author

author image
mkyong
Founder of Mkyong.com, love Java and open source stuff. Follow him on Twitter. If you like my tutorials, consider make a donation to these charities.

Comments

avatar