Enumeration (Java SE 9 & JDK 9 ) (original) (raw)
- All Known Subinterfaces:
[NamingEnumeration](../../javax/naming/NamingEnumeration.html "interface in javax.naming")<T>
All Known Implementing Classes:[StringTokenizer](../../java/util/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
All Methods Instance Methods Abstract Methods Default Methods
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 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](../../java/util/Enumeration.html "type parameter in Enumeration") 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](../../java/util/NoSuchElementException.html "class in java.util")` \- if no more elements exist. * #### asIterator default [Iterator](../../java/util/Iterator.html "interface in java.util")<[E](../../java/util/Enumeration.html "type parameter in Enumeration")> asIterator() Returns an [Iterator](../../java/util/Iterator.html "interface in java.util") 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()](../../java/util/jar/JarFile.html#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()](../../java/util/jar/JarFile.html#stream--) method that returns a `Stream` of entries, which may be more convenient in some cases.) Implementation Requirements: The default implementation returns an `Iterator` whose[hasNext](../../java/util/Iterator.html#hasNext--) method calls this Enumeration's`hasMoreElements` method, whose [next](../../java/util/Iterator.html#next--) method calls this Enumeration's `nextElement` method, and whose [remove](../../java/util/Iterator.html#remove--) method throws`UnsupportedOperationException`. Returns: an Iterator representing the remaining elements of this Enumeration Since: 9
Report a bug or suggest an enhancement
For further API reference and developer documentation see the Java SE Documentation, which contains more detailed, developer-targeted descriptions with conceptual overviews, definitions of terms, workarounds, and working code examples.
Java is a trademark or registered trademark of Oracle and/or its affiliates in the US and other countries.
Copyright © 1993, 2017, Oracle and/or its affiliates, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
All rights reserved. Use is subject to license terms and the documentation redistribution policy.