Module java.base
Package java.util

## Interface PrimitiveIterator.OfLong

- All Superinterfaces:
    `Iterator<Long>`, `PrimitiveIterator<Long,LongConsumer>`
  Enclosing interface:
    PrimitiveIterator<T,T_CONS>

      public static interface PrimitiveIterator.OfLong
      extends PrimitiveIterator<Long,LongConsumer>

  An Iterator specialized for `long` values.
  Since:
    1.8

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface java.util.PrimitiveIterator

      `PrimitiveIterator.OfDouble, PrimitiveIterator.OfInt, PrimitiveIterator.OfLong`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `default void` | `forEachRemaining​(Consumer<? super Long> action)` | Performs the given action for each remaining element until all elements have been processed or the action throws an exception.
    `default void` | `forEachRemaining​(LongConsumer action)` | Performs the given action for each remaining element until all elements have been processed or the action throws an exception.
    `default Long` | `next​()` | Returns the next element in the iteration.
    `long` | `nextLong​()` | Returns the next `long` element in the iteration.

    - ### Methods inherited from interface java.util.Iterator

      `hasNext, remove`

- - ### Method Detail

    - #### nextLong

          long nextLong​()

      Returns the next `long` element in the iteration.
      Returns:
        the next `long` element in the iteration
      Throws:
        `NoSuchElementException` - if the iteration has no more elements

    - #### forEachRemaining

          default void forEachRemaining​(LongConsumer action)

      Performs the given action for each remaining element until all elements have been processed or the action throws an exception. Actions are performed in the order of iteration, if that order is specified. Exceptions thrown by the action are relayed to the caller.
      Specified by:
        `forEachRemaining` in interface `PrimitiveIterator<Long,LongConsumer>`
      Implementation Requirements:

        The default implementation behaves as if:

                 while (hasNext())
                     action.accept(nextLong());

      Parameters:
        `action` - The action to be performed for each element
      Throws:
        `NullPointerException` - if the specified action is null

    - #### next

          default Long next​()

      Returns the next element in the iteration.
      Specified by:
        `next` in interface `Iterator<Long>`
      Implementation Requirements:
        The default implementation boxes the result of calling `nextLong()`, and returns that boxed result.
      Returns:
        the next element in the iteration

    - #### forEachRemaining

          default void forEachRemaining​(Consumer<? super Long> action)

      Performs the given action for each remaining element until all elements have been processed or the action throws an exception. Actions are performed in the order of iteration, if that order is specified. Exceptions thrown by the action are relayed to the caller.

      The behavior of an iterator is unspecified if the action modifies the collection in any way (even by calling the `remove` method or other mutator methods of `Iterator` subtypes), unless an overriding class has specified a concurrent modification policy.

      Subsequent behavior of an iterator is unspecified if the action throws an exception.

      Specified by:
        `forEachRemaining` in interface `Iterator<Long>`
      Implementation Requirements:
        If the action is an instance of `LongConsumer` then it is cast to `LongConsumer` and passed to `forEachRemaining(java.util.function.LongConsumer)`; otherwise the action is adapted to an instance of `LongConsumer`, by boxing the argument of `LongConsumer`, and then passed to `forEachRemaining(java.util.function.LongConsumer)`.
      Parameters:
        `action` - The action to be performed for each element