Module java.base
Package java.util

Interface Enumeration<E>

  • All Known Subinterfaces:
    NamingEnumeration<T>
    All Known Implementing Classes:
    StringTokenizer

    public interfaceEnumeration<E>
    An object that implements the Enumeration interface generates a series of elements, one at a time. Successive calls to thenextElement method return successive elements of the series.

    For example, to print all elements of aVector<E>v:

       for (Enumeration<E> e = v.elements(); e.hasMoreElements();)       System.out.println(e.nextElement());

    Methods are provided to enumerate through the elements of a vector, the keys of a hashtable, and the values in a hashtable. Enumerations are also used to specify the input streams to aSequenceInputStream.

    API Note:
    The functionality of this interface is duplicated by theIterator interface. In addition,Iterator adds an optional remove operation, and has shorter method names. New implementations should consider usingIterator in preference toEnumeration. It is possible to adapt anEnumeration to anIterator by using theasIterator() method.
    Since:
    1.0
    See Also:
    Iterator,SequenceInputStream,nextElement(),Hashtable,Hashtable.elements(),Hashtable.keys(),Vector,Vector.elements()
    • Method Detail

      • hasMoreElements

        boolean hasMoreElements()
        Tests if this enumeration contains more elements.
        Returns:
        true if and only if this enumeration object contains at least one more element to provide;false otherwise.
      • nextElement

        E nextElement()
        Returns the next element of this enumeration if this enumeration object has at least one more element to provide.
        Returns:
        the next element of this enumeration.
        Throws:
        NoSuchElementException - if no more elements exist.
      • asIterator

        default Iterator<E> asIterator()
        Returns anIterator that traverses the remaining elements covered by this enumeration. Traversal is undefined if any methods are called on this enumeration after the call toasIterator.
        API Note:
        This method is intended to help adapt code that producesEnumeration instances to code that consumesIterator instances. For example, theJarFile.entries() method returns anEnumeration<JarEntry>. This can be turned into anIterator, and then theforEachRemaining() method can be used:
             JarFile jarFile = ... ;     jarFile.entries().asIterator().forEachRemaining(entry -> { ... });
        (Note that there is also aJarFile.stream() method that returns aStream of entries, which may be more convenient in some cases.)
        Implementation Requirements:
        The default implementation returns anIterator whosehasNext method calls this Enumeration'shasMoreElements method, whosenext method calls this Enumeration'snextElement method, and whoseremove method throwsUnsupportedOperationException.
        Returns:
        an Iterator representing the remaining elements of this Enumeration
        Since:
        9