Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.google.common.collect
Interface PeekingIterator<E>

All Superinterfaces:
  Iterator<E>

    public interface PeekingIterator<E>

extends Iterator<E>

An iterator that supports a one-element lookahead while iterating.

Author:
  Mick Killianey

Method Summary
`E` | `next()` Returns the next element in the iteration.
`E` | `peek()` Returns the next element in the iteration, without advancing the iteration.
`void` | `remove()` Removes from the underlying collection the last element returned by this iterator (optional operation).

Methods inherited from interface java.util.Iterator
`hasNext`

Method Detail

### peek

    E peek()

  Returns the next element in the iteration, without advancing the iteration.

  Calls to `peek()` should not change the state of the iteration, except that it may prevent removal of the most recent element via `remove()`.

  Throws:
    `NoSuchElementException` - if the iteration has no more elements according to `Iterator.hasNext()`

### next

    E next()

  Returns the next element in the iteration.

  The objects returned by consecutive calls to `peek()` then `next()` are guaranteed to be equal to each other.

  Specified by:
    `next` in interface `Iterator<E>`
  Returns:
    the next element in the iteration

### remove

    void remove()

  Removes from the underlying collection the last element returned by this iterator (optional operation). This method can be called only once per call to `Iterator.next()`. The behavior of an iterator is unspecified if the underlying collection is modified while the iteration is in progress in any way other than by calling this method.

  Implementations may or may not support removal when a call to `peek()` has occurred since the most recent call to `next()`.

  Specified by:
    `remove` in interface `Iterator<E>`
  Throws:
    `IllegalStateException` - if there has been a call to `peek()` since the most recent call to `next()` and this implementation does not support this sequence of calls (optional)

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD