# Package org.apache.commons.collections4.iterators

package org.apache.commons.collections4.iterators
Implements the `Iterator` interface.

You may also consider using `IteratorUtils`, which is a single class that uses static methods to construct instances of the classes in this package.

- Related Packages
  Package
  Description
  org.apache.commons.collections4
  Interfaces and utilities shared across all packages.
- Class
  Description
  AbstractEmptyMapIterator<K,V>
  Provides an implementation of an empty map iterator.
  AbstractIteratorDecorator<E>
  Provides basic behavior for decorating an iterator with extra functionality.
  AbstractListIteratorDecorator<E>
  Provides basic behavior for decorating a list iterator with extra functionality.
  AbstractMapIteratorDecorator<K,V>
  Provides basic behavior for decorating a map iterator with extra functionality.
  AbstractOrderedMapIteratorDecorator<K,V>
  Provides basic behavior for decorating an ordered map iterator with extra functionality.
  AbstractUntypedIteratorDecorator<I,O>
  Provides basic behavior for decorating an iterator with extra functionality without committing the generic type of the Iterator implementation.
  ArrayIterator<E>
  Implements an `Iterator` over any array.
  ArrayListIterator<E>
  Implements a `ListIterator` over an array.
  BoundedIterator<E>
  Decorates another iterator to return elements in a specific range.
  CartesianProductIterator<E>
  This iterator creates a Cartesian product of the input iterables, equivalent to nested for-loops.
  CollatingIterator<E>
  Provides an ordered iteration over the elements contained in a collection of ordered Iterators.
  EmptyIterator<E>
  Provides an implementation of an empty iterator.
  EmptyListIterator<E>
  Provides an implementation of an empty list iterator.
  EmptyMapIterator<K,V>
  Provides an implementation of an empty map iterator.
  EmptyOrderedIterator<E>
  Provides an implementation of an empty ordered iterator.
  EmptyOrderedMapIterator<K,V>
  Provides an implementation of an empty ordered map iterator.
  EntrySetMapIterator<K,V>
  Implements a `MapIterator` using a Map entrySet.
  EnumerationIterator<E>
  Adapter to make `Enumeration` instances appear to be `Iterator` instances.
  ExtendedIterator<T>
  Extends Iterator functionality to include operations commonly found on streams (e.g. filtering, concatenating, mapping).
  FilterIterator<E>
  Decorates an `Iterator` using an optional predicate to filter elements.
  FilterListIterator<E>
  Decorates another `ListIterator` using a predicate to filter elements.
  IteratorChain<E>
  An IteratorChain is an Iterator that wraps a number of Iterators.
  IteratorEnumeration<E>
  Adapter to make an `Iterator` instance appear to be an `Enumeration` instance.
  IteratorIterable<E>
  Adapter to make an `Iterator` instance appear to be an `Iterable` instance.
  IteratorOperations<E>
  Extends `Iterator` with additional default methods.
  LazyIteratorChain<E>
  An LazyIteratorChain is an Iterator that wraps a number of Iterators in a lazy manner.
  ListIteratorWrapper<E>
  Converts an `Iterator` into a `ResettableListIterator`.
  LoopingIterator<E>
  An Iterator that restarts when it reaches the end.
  LoopingListIterator<E>
  A ListIterator that restarts when it reaches the end or when it reaches the beginning.
  NodeListIterator
  An `Iterator` over a `NodeList`.
  ObjectArrayIterator<E>
  An `Iterator` over an array of objects.
  ObjectArrayListIterator<E>
  Implements a `ListIterator` over an array of objects.
  ObjectGraphIterator<E>
  An Iterator that can traverse multiple iterators down an object graph.
  PeekingIterator<E>
  Decorates an iterator to support one-element lookahead while iterating.
  PermutationIterator<E>
  This iterator creates permutations of an input collection, using the Steinhaus-Johnson-Trotter algorithm (also called plain changes).
  PushbackIterator<E>
  Decorates an iterator to support pushback of elements.
  ReverseListIterator<E>
  Iterates backwards through a List, starting with the last element and continuing to the first.
  SingletonIterator<E>
  `SingletonIterator` is an `Iterator` over a single object instance.
  SingletonListIterator<E>
  `SingletonIterator` is an `ListIterator` over a single object instance.
  SkippingIterator<E>
  Decorates another iterator to skip the first N elements.
  TransformIterator<I,O>
  Decorates an iterator such that each element returned is transformed.
  UniqueFilterIterator<E>
  A FilterIterator which only returns "unique" Objects.
  UnmodifiableIterator<E>
  Decorates an iterator such that it cannot be modified.
  UnmodifiableListIterator<E>
  Decorates a list iterator such that it cannot be modified.
  UnmodifiableMapIterator<K,V>
  Decorates a map iterator such that it cannot be modified.
  UnmodifiableOrderedMapIterator<K,V>
  Decorates an ordered map iterator such that it cannot be modified.
  ZippingIterator<E>
  Provides an interleaved iteration over the elements contained in a collection of Iterators.