Package org.apache.commons.collections4.iterators

# Class EmptyIterator<E>

java.lang.Object
org.apache.commons.collections4.iterators.EmptyIterator<E>

Type Parameters:
  `E` - the type of elements returned by this iterator.

All Implemented Interfaces:
  `Iterator<E>`, `ResettableIterator<E>`

public class EmptyIterator<E> extends Object
Provides an implementation of an empty iterator.

This class provides an implementation of an empty iterator. This class provides for binary compatibility between Commons Collections 2.1.1 and 3.1 due to issues with `IteratorUtils`.

Since:
  2.1.1 and 3.1

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final Iterator`
  `INSTANCE`
  Singleton instance of the iterator.
  `static final ResettableIterator`
  `RESETTABLE_INSTANCE`
  Singleton instance of the iterator.

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `EmptyIterator()`
  Constructs a new instance.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `add(E ignored)`
  Deprecated.
  Will be removed in 5.0 without replacement.
  `static <E> Iterator<E>`
  `emptyIterator()`
  Gets a typed empty iterator instance.
  `boolean`
  `hasNext()`
  Always returns false, this iterator contains no elements.
  `boolean`
  `hasPrevious()`
  Always returns false, this iterator contains no elements.
  `E`
  `next()`
  Always throws IllegalStateException, this iterator contains no elements.
  `int`
  `nextIndex()`
  Always returns 0, this iterator contains no elements.
  `E`
  `previous()`
  Always throws IllegalStateException, this iterator contains no elements.
  `int`
  `previousIndex()`
  Always returns -1, this iterator contains no elements.
  `void`
  `remove()`
  Always throws IllegalStateException, this iterator contains no elements.
  `void`
  `reset()`
  Resets the iterator back to the position at which the iterator was created.
  `static <E> ResettableIterator<E>`
  `resettableEmptyIterator()`
  Gets a typed resettable empty iterator instance.
  `void`
  `set(E ignored)`
  Always throws IllegalStateException, this iterator contains no elements.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

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

  `forEachRemaining`

- ## Field Details

  - ### RESETTABLE_INSTANCE

    public static final ResettableIterator RESETTABLE_INSTANCE
    Singleton instance of the iterator.
    Since:
      3.1

  - ### INSTANCE

    public static final Iterator INSTANCE
    Singleton instance of the iterator.
    Since:
      2.1.1 and 3.1

- ## Constructor Details

  - ### EmptyIterator

    protected EmptyIterator()
    Constructs a new instance.

- ## Method Details

  - ### emptyIterator

    public static <E> Iterator<E> emptyIterator()
    Gets a typed empty iterator instance.
    Type Parameters:
      `E` - the element type
    Returns:
      Iterator<E>

  - ### resettableEmptyIterator

    public static <E> ResettableIterator<E> resettableEmptyIterator()
    Gets a typed resettable empty iterator instance.
    Type Parameters:
      `E` - the element type
    Returns:
      ResettableIterator<E>

  - ### add

    @Deprecated public void add(E ignored)
    Deprecated.
    Will be removed in 5.0 without replacement.
    Always throws UnsupportedOperationException.
    Parameters:
      `ignored` - ignore.
    Throws:
      `UnsupportedOperationException` - Always thrown.

  - ### hasNext

    public boolean hasNext()
    Always returns false, this iterator contains no elements.
    Specified by:
      `hasNext` in interface `Iterator<E>`
    Returns:
      Always false.

  - ### hasPrevious

    public boolean hasPrevious()
    Always returns false, this iterator contains no elements.
    Returns:
      Always false.

  - ### next

    public E next()
    Always throws IllegalStateException, this iterator contains no elements.
    Specified by:
      `next` in interface `Iterator<E>`
    Returns:
      Always throws IllegalStateException.
    Throws:
      `IllegalStateException` - Always thrown.

  - ### nextIndex

    public int nextIndex()
    Always returns 0, this iterator contains no elements.
    Returns:
      Always returns 0.

  - ### previous

    public E previous()
    Always throws IllegalStateException, this iterator contains no elements.
    Returns:
      Always throws IllegalStateException.
    Throws:
      `IllegalStateException` - Always thrown.

  - ### previousIndex

    public int previousIndex()
    Always returns -1, this iterator contains no elements.
    Returns:
      Always returns -1.

  - ### remove

    public void remove()
    Always throws IllegalStateException, this iterator contains no elements.
    Specified by:
      `remove` in interface `Iterator<E>`
    Throws:
      `IllegalStateException` - Always thrown.

  - ### reset

    public void reset()
    Description copied from interface: `ResettableIterator`
    Resets the iterator back to the position at which the iterator was created.
    Specified by:
      `reset` in interface `ResettableIterator<E>`

  - ### set

    public void set(E ignored)
    Always throws IllegalStateException, this iterator contains no elements.
    Parameters:
      `ignored` - ignored.
    Throws:
      `IllegalStateException` - Always thrown.