Interface Enumeration<E>
- 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 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
Iteratorinterface. In addition,Iteratoradds an optional remove operation, and has shorter method names. New implementations should consider usingIteratorin preference toEnumeration. It is possible to adapt anEnumerationto anIteratorby using theasIterator()method. - Since:
- 1.0
- See Also:
-
Iterator,SequenceInputStream,nextElement(),Hashtable,Hashtable.elements(),Hashtable.keys(),Vector,Vector.elements()
Methods
| Modifier and Type | Method | Description |
|---|---|---|
default Iterator<E> | asIterator() | Returns an |
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. |
Methods
hasMoreElements
boolean hasMoreElements()
Tests if this enumeration contains more elements.
- Returns:
-
trueif and only if this enumeration object contains at least one more element to provide;falseotherwise.
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 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
Enumerationinstances to code that consumesIteratorinstances. 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 aStreamof entries, which may be more convenient in some cases.) - Implementation Requirements:
- The default implementation returns an
IteratorwhosehasNextmethod calls this Enumeration'shasMoreElementsmethod, whosenextmethod calls this Enumeration'snextElementmethod, and whoseremovemethod throwsUnsupportedOperationException. - Returns:
- an Iterator representing the remaining elements of this Enumeration
- Since:
- 9
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Enumeration.html