Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Methods](https://developer.android.com/reference/java/util/Enumeration#pubmethods)

# Enumeration

` public interface Enumeration `   
` `

|---|
| java.util.Enumeration\<E\> |

Known indirect subclasses [StringTokenizer](https://developer.android.com/reference/java/util/StringTokenizer) [StringTokenizer](https://developer.android.com/reference/java/util/StringTokenizer) The string tokenizer class allows an application to break a string into tokens.   

*** ** * ** ***

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`.
**See also:**

- `https://developer.android.com/reference/java/util/Iterator`
- `https://developer.android.com/reference/java/io/SequenceInputStream`
- `https://developer.android.com/reference/java/util/Enumeration#nextElement()`
- `https://developer.android.com/reference/java/util/Hashtable`
- `https://developer.android.com/reference/java/util/Hashtable#elements()`
- `https://developer.android.com/reference/java/util/Hashtable#keys()`
- `https://developer.android.com/reference/java/util/Vector`
- `https://developer.android.com/reference/java/util/Vector#elements()`

## Summary

| ### Public methods ||
|---|---|
| ` default https://developer.android.com/reference/java/util/Iterator<E>` | ` https://developer.android.com/reference/java/util/Enumeration#asIterator()() ` Returns an `https://developer.android.com/reference/java/util/Iterator` that traverses the remaining elements covered by this enumeration. |
| ` abstract boolean` | ` https://developer.android.com/reference/java/util/Enumeration#hasMoreElements()() ` Tests if this enumeration contains more elements. |
| ` abstract E` | ` https://developer.android.com/reference/java/util/Enumeration#nextElement()() ` Returns the next element of this enumeration if this enumeration object has at least one more element to provide. |

## Public methods

### asIterator

Added in [API level 33](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public Iterator<E> asIterator ()
```

Returns an `https://developer.android.com/reference/java/util/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`.

<br />

##### API Note:

- This method is intended to help adapt code that produces `Enumeration` instances to code that consumes `Iterator` instances. For example, the `https://developer.android.com/reference/java/util/jar/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 `https://developer.android.com/reference/java/util/jar/JarFile#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 `https://developer.android.com/reference/java/util/Iterator#hasNext()` method calls this Enumeration's `hasMoreElements` method, whose `https://developer.android.com/reference/java/util/Iterator#next()` method calls this Enumeration's `nextElement` method, and whose `https://developer.android.com/reference/java/util/Iterator#remove()` method throws `UnsupportedOperationException`.

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/util/Iterator<E>` | an Iterator representing the remaining elements of this Enumeration <br /> |

### hasMoreElements

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public abstract boolean hasMoreElements ()
```

Tests if this enumeration contains more elements.

<br />

| Returns ||
|---|---|
| `boolean` | `true` if and only if this enumeration object contains at least one more element to provide; `false` otherwise. <br /> |

### nextElement

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public abstract E nextElement ()
```

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

<br />

| Returns ||
|---|---|
| `E` | the next element of this enumeration. <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/util/NoSuchElementException` | if no more elements exist. |