APIdia Launch Partner
Top Description Methods
java.util

public Interface Enumeration<E>

Known Direct Implementers
java.util.Hashtable.Enumerator, java.util.StringTokenizer, java.security.PermissionsEnumerator, java.util.concurrent.ConcurrentHashMap.KeyIterator, java.util.concurrent.ConcurrentHashMap.ValueIterator, java.util.zip.ZipFile.ZipEntryIterator, javax.crypto.PermissionsEnumerator, sun.util.ResourceBundleEnumeration, java.lang.CompoundEnumeration, java.util.Collections.EmptyEnumeration
Type Parameters
<E>
the type of elements returned by this enumeration

An object that implements the Enumeration interface generates a series of elements, one at a time. Successive calls to the nextElement method return successive elements of the series.

For example, to print all elements of a Vector<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 a SequenceInputStream.

API Note

The functionality of this interface is duplicated by the Iterator interface. In addition, Iterator adds an optional remove operation, and has shorter method names. New implementations should consider using Iterator in preference to Enumeration. It is possible to adapt an Enumeration to an Iterator by using the asIterator method.

Author
Lee Boynton
Since
1.0
See Also
java.util.Iterator, java.io.SequenceInputStream, java.util.Enumeration#nextElement(), java.util.Hashtable, java.util.Hashtable#elements(), java.util.Hashtable#keys(), java.util.Vector, java.util.Vector#elements()

Method Summary

Modifier and TypeMethod and Description
public default Iterator<E>

Returns:

an Iterator representing the remaining elements of this Enumeration
asIterator
()

Returns an Iterator that traverses the remaining elements covered by this enumeration.

public boolean

Returns:

true if and only if this enumeration object contains at least one more element to provide; false otherwise.
hasMoreElements
()

Tests if this enumeration contains more elements.

public E

Returns:

the next element of this enumeration.
nextElement
()

Returns the next element of this enumeration if this enumeration object has at least one more element to provide.

Method Detail

asIteratorback to summary
public default Iterator<E> asIterator()

Returns an Iterator that traverses the remaining elements covered by this enumeration. Traversal is undefined if any methods are called on this enumeration after the call to asIterator.

API Note

This method is intended to help adapt code that produces Enumeration instances to code that consumes Iterator instances. For example, the JarFile.entries() method returns an Enumeration<JarEntry>. This can be turned into an Iterator, and then the forEachRemaining() method can be used:

JarFile jarFile = ... ;
    jarFile.entries().asIterator().forEachRemaining(entry -> { ... });
(Note that there is also a JarFile.stream() method that returns a Stream of entries, which may be more convenient in some cases.)

Implementation Specification

The default implementation returns an Iterator whose hasNext method calls this Enumeration's hasMoreElements method, whose next method calls this Enumeration's nextElement method, and whose remove method throws UnsupportedOperationException.

Returns:Iterator<E>

an Iterator representing the remaining elements of this Enumeration

Since
9
hasMoreElementsback to summary
public boolean hasMoreElements()

Tests if this enumeration contains more elements.

Returns:boolean

true if and only if this enumeration object contains at least one more element to provide; false otherwise.

nextElementback to summary
public E nextElement()

Returns the next element of this enumeration if this enumeration object has at least one more element to provide.

Returns:E

the next element of this enumeration.

Exceptions
NoSuchElementException:
if no more elements exist.