Class CollatingIterator<E>

java.lang.Object
org.apache.commons.collections4.iterators.CollatingIterator<E>
Type Parameters:
E - the type of elements returned by this iterator.
All Implemented Interfaces:
Iterator<E>

public class CollatingIterator<E> extends Object implements Iterator<E>
Provides an ordered iteration over the elements contained in a collection of ordered Iterators.

Given two ordered Iterator instances A and B, the next() method on this iterator will return the lesser of A.next() and B.next().

Since:
2.1
  • Constructor Details

    • CollatingIterator

      Constructs a new CollatingIterator. A comparator must be set by calling setComparator(Comparator) before invoking hasNext(), or next() for the first time. Child iterators will have to be manually added using the addIterator(Iterator) method.
    • CollatingIterator

      public CollatingIterator(Comparator<? super E> comp)
      Constructs a new CollatingIterator that will use the specified comparator for ordering. Child iterators will have to be manually added using the addIterator(Iterator) method.
      Parameters:
      comp - the comparator to use to sort; must not be null, unless you'll be invoking setComparator(Comparator) later on.
    • CollatingIterator

      public CollatingIterator(Comparator<? super E> comp, Collection<Iterator<? extends E>> iterators)
      Constructs a new CollatingIterator that will use the specified comparator to provide ordered iteration over the collection of iterators.
      Parameters:
      comp - the comparator to use to sort; must not be null, unless you'll be invoking setComparator(Comparator) later on.
      iterators - the collection of iterators
      Throws:
      NullPointerException - if the iterators collection is or contains null
      ClassCastException - if the iterators collection contains an element that's not an Iterator
    • CollatingIterator

      public CollatingIterator(Comparator<? super E> comp, int initIterCapacity)
      Constructs a new CollatingIterator that will use the specified comparator for ordering and have the specified initial capacity. Child iterators will have to be manually added using the addIterator(Iterator) method.
      Parameters:
      comp - the comparator to use to sort; must not be null, unless you'll be invoking setComparator(Comparator) later on.
      initIterCapacity - the initial capacity for the internal list of child iterators
    • CollatingIterator

      public CollatingIterator(Comparator<? super E> comp, Iterator<? extends E> a, Iterator<? extends E> b)
      Constructs a new CollatingIterator that will use the specified comparator to provide ordered iteration over the two given iterators.
      Parameters:
      comp - the comparator to use to sort; must not be null, unless you'll be invoking setComparator(Comparator) later on.
      a - the first child ordered iterator
      b - the second child ordered iterator
      Throws:
      NullPointerException - if either iterator is null
    • CollatingIterator

      public CollatingIterator(Comparator<? super E> comp, Iterator<? extends E>[] iterators)
      Constructs a new CollatingIterator that will use the specified comparator to provide ordered iteration over the array of iterators.
      Parameters:
      comp - the comparator to use to sort; must not be null, unless you'll be invoking setComparator(Comparator) later on.
      iterators - the array of iterators
      Throws:
      NullPointerException - if iterators array is or contains null
  • Method Details