Interface Iterator<E>

All Known Subinterfaces:
ListIterator<E>, PrimitiveIterator<T,T_CONS>, PrimitiveIterator.OfDouble, PrimitiveIterator.OfInt, PrimitiveIterator.OfLong

public interface Iterator<E>

An Iterator is used to sequence over a collection of objects. Conceptually, an iterator is always positioned between two elements of a collection. A fresh iterator is always positioned in front of the first element.

If a collection has been changed since its creation, methods next and hasNext() may throw a ConcurrentModificationException. Iterators with this behavior are called fail-fast iterators.

Type parameter E: the type of object returned by the iterator.

  • Method Summary

    Modifier and Type
    Method
    Description
    default void
    forEachRemaining(Consumer<? super E> action)
    Hands each remaining element to action, in order.
    boolean
    Returns whether there are more elements to iterate, i.e.
    Returns the next object in the iteration, i.e.
    default void
    Removes the last element next answered from the collection being iterated, which this iterator does not support unless it says otherwise.
  • Method Details

    • hasNext

      boolean hasNext()

      Returns whether there are more elements to iterate, i.e. whether the iterator is positioned in front of an element.

      Returns

      true if there are more elements, false otherwise.

      See also
      • #next
    • next

      E next()

      Returns the next object in the iteration, i.e. returns the element in front of the iterator and advances the iterator by one position.

      Returns

      the next object.

      Throws
      • NoSuchElementException: if there are no more elements.
      See also
      • #hasNext
    • remove

      default void remove()

      Removes the last element next answered from the collection being iterated, which this iterator does not support unless it says otherwise.

      Throws
      • UnsupportedOperationException: when removing is not supported

      • IllegalStateException: when next has not been called, or remove has already been called after the last call to next

    • forEachRemaining

      default void forEachRemaining(Consumer<? super E> action)
      Hands each remaining element to action, in order.