-
- All Known Subinterfaces:
NamingEnumeration<T>
- All Known Implementing Classes:
StringTokenizer
public interface Enumeration<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 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 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 Summary
Modifier and Type Method Description default Iterator<E>
asIterator()
Returns anIterator
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 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 produces
Enumeration
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:
(Note that there is also aJarFile jarFile = ... ; jarFile.entries().asIterator().forEachRemaining(entry -> { ... });
JarFile.stream()
method that returns aStream
of entries, which may be more convenient in some cases.) - Implementation Requirements:
- The default implementation returns an
Iterator
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
-
-