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

All Superinterfaces:
  Iterator<E>

    @GwtCompatible
    public interface PeekingIterator<E>

extends Iterator<E>

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

See the Guava User Guide article on `PeekingIterator`.

Since:
  2.0 (imported from Google Collections Library)
Author:
  Mick Killianey

Method Summary
`E` `next()`
`E` `peek()` Returns the next element in the iteration, without advancing the iteration.
`void` `remove()`

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()

  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>`

### remove

    void remove()

  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)

Copyright © 2010-2012. All Rights Reserved.