Programming for fun and profit

Programming tutorials, problems, solutions. Always with code.

Java Collection to Enumeration


When working with legacy code, you need to convert Java Collection to Enumeration. This example shows how to do that using Java Collections API features!


The following Java code shows how to use java.util.Collections.enumeration(Collection) to convert Java List to Java Enumeration with elements of the same generic type:


import java.util.Arrays;
import java.util.Collections;
import java.util.Enumeration;
import java.util.List;

public class CollectionsEnumeration {

    public static void main(String[] args) {
        List<String> coll = Arrays.asList("java", "util", "Collections");
        System.out.println("Collection: " + coll);

        // convert a Collection to Enumeration of the same type:
        Enumeration<String> en = Collections.enumeration(coll);
        System.out.println("Enumeration (no toString): " + en);
        while (en.hasMoreElements()) {

Simple, no? :-) The only thing you have to keep in mind is that the internal implementation of Enumeration interface doesn’t provide it’s toString() method, so it won’t show its elements, what can be seen when running the example:

Collection: [[java, util, Collections]]
Enumeration (no toString): java.util.Collections$3@677327b6

As you can see, we had to iterate over the enumeration and print items one by one. Also, Java Enumeration doesn’t implement java.lang.Iterable, so it can’t be used with for-each loop.

Share with the World!