Enumeration Interface In Java - GeeksforGeeks

15 Dec, 2021
java.util.Enumeration interface is one of the predefined interfaces, whose object is used for retrieving the data from collections framework variable( like Stack, Vector, HashTable etc.) in a forward direction only and not in the backward direction. This interface has been superceded by an iterator.
The Enumeration Interface defines the functions by which we can enumerate the elements in a collection of elements. For new code, Enumeration is considered obsolete. However, several methods of the legacy classes such as vectors and properties, several API classes, application codes use this Enumeration interface.
Important Features
Enumeration is Synchronized.
It does not support adding, removing, or replacing elements.
Elements of legacy Collections can be accessed in a forward direction using Enumeration.
Legacy classes have methods to work with enumeration and returns Enumeration objects.
Declaration
public interface Enumeration<E>
Where E is the type of elements stored in a Collection.
The sub-interfaces of Enumeration interface is NamingEnumeration and implementing class is StringTokenizer.
Creating Enumeration Object
Vector ve = new Vector();
Enumeration e = v.elements();
Example:
Java
// Java program to test Enumerationimport java.util.Vector;import java.util.Enumeration; public class EnumerationClass {     public static void main(String args[])    {        Enumeration months;        Vector<String> monthNames = new Vector<>();         monthNames.add("January");        monthNames.add("February");        monthNames.add("March");        monthNames.add("April");        monthNames.add("May");        monthNames.add("June");        monthNames.add("July");        monthNames.add("August");        monthNames.add("September");        monthNames.add("October");        monthNames.add("November");        monthNames.add("December");        months = monthNames.elements();         while (months.hasMoreElements()) {            System.out.println(months.nextElement());        }    }}
January
February
March
April
May
June
July
August
September
October
November
December
Java Enumeration Interface With SequenceInputStream 
Java
import java.io.*;import java.util.*;class GFG {    public static void main(String args[])        throws IOException    {        // creating the FileInputStream objects for all the        // files        FileInputStream fin            = new FileInputStream("file1.txt");        FileInputStream fin2            = new FileInputStream("file2.txt");        FileInputStream fin3            = new FileInputStream("file3.txt");        FileInputStream fin4            = new FileInputStream("file4.txt");        // creating Vector object to all the stream        Vector v = new Vector();        v.add(fin);        v.add(fin2);        v.add(fin3);        v.add(fin4);         // creating enumeration object by calling the        // elements method        Enumeration e = v.elements();         // passing the enumeration object in the constructor        SequenceInputStream bin            = new SequenceInputStream(e);        int i = 0;        while ((i = bin.read()) != -1) {            System.out.print((char)i);        }        bin.close();        fin.close();        fin2.close();    }}
Creation Of Custom Enumeration 
Java
import java.util.Enumeration;import java.lang.reflect.Array; public class EnumerationClass implements Enumeration {    private int size;    private int cursor;    private final Object array;    public EnumerationClass(Object obj)    {        Class type = obj.getClass();        if (!type.isArray()) {            throw new IllegalArgumentException(                "Invalid type: " + type);        }        size = Array.getLength(obj);        array = obj;    }    public boolean hasMoreElements()    {        return (cursor < size);    }    public object nextElements()    {        return Array.get(array, cursor++);    }}
 Creation of Java Enumeration using String Array 
Java
import java.util.*;import java.io.*; public class EnumerationExample {    public static void main(String args[])    {        // String Array Creation        String str[] = { "apple", "facebook", "google" };         // Array Enumeration Creation        ArrayEnumeration aenum = new ArrayEnumeration(str);         // usageof array enumeration        while (aenum.hasMoreElements()) {            System.out.println(aenum.nextElement());        }    }}
E – type of elements
Modifier And Type  
Method              
Explanation
 
rajeev0719singh
surindertarika1234
simmytarika5
Java-Enumeration
Java
Java
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Stream In Java
Constructors in Java
Exceptions in Java
Functional Interfaces in Java
Different ways of Reading a text file in Java
Generics in Java
Introduction to Java
Internal Working of HashMap in Java
Comparator Interface in Java with Examples
Strings in Java