Interface Enumeration<E>

Type Parameters:
E - the type of elements returned by this enumeration
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:
  • Method Summary

    Modifier and Type
    Method
    Description
    defaultIterator<E>
    Returns anIterator that traverses the remaining elements covered by this enumeration.
    boolean
    Tests if this enumeration contains more elements.
    Returns the next element of this enumeration if this enumeration object has at least one more element to provide.
  • Method Details

    • 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