Enumeration (Java SE 15 & JDK 15) (original) (raw)
All Known Subinterfaces:
[NamingEnumeration](../../../java.naming/javax/naming/NamingEnumeration.html "interface in javax.naming")<T>
All Known Implementing Classes:
[StringTokenizer](StringTokenizer.html "class in java.util")
public interface Enumeration
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 a Vector<E>
v:
for (Enumeration 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 the Iterator interface. In addition, Iterator
adds an optional remove operation, and has shorter method names. New implementations should consider usingIterator
in preference to Enumeration
. It is possible to adapt an Enumeration
to an Iterator
by using theasIterator() method.
Since:
1.0
See Also:
Iterator, SequenceInputStream, nextElement(), Hashtable, Hashtable.elements(), Hashtable.keys(), Vector, Vector.elements()
Method Summary
Modifier and Type | Method | Description |
---|---|---|
default Iterator<E> | asIterator() | Returns an Iterator that traverses the remaining elements covered by this enumeration. |
boolean | hasMoreElements() | Tests if this enumeration contains more elements. |
E | nextElement() | 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](NoSuchElementException.html "class in java.util")
- if no more elements exist.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 producesEnumeration
instances to code that consumesIterator
instances. For example, the JarFile.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 a JarFile.stream() method that returns a
Stream
of entries, which may be more convenient in some cases.)
Implementation Requirements:
The default implementation returns anIterator
whosehasNext method calls this Enumeration'shasMoreElements
method, whose next method calls this Enumeration'snextElement
method, and whose remove method throwsUnsupportedOperationException
.
Returns:
an Iterator representing the remaining elements of this Enumeration
Since:
9