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>
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 SummaryConstructorsConstructorDescriptionConstructs a newCollatingIterator.CollatingIterator(Comparator<? super E> comp) Constructs a newCollatingIteratorthat will use the specified comparator for ordering.CollatingIterator(Comparator<? super E> comp, int initIterCapacity) Constructs a newCollatingIteratorthat will use the specified comparator for ordering and have the specified initial capacity.CollatingIterator(Comparator<? super E> comp, Collection<Iterator<? extends E>> iterators) Constructs a newCollatingIteratorthat will use the specified comparator to provide ordered iteration over the collection of iterators.CollatingIterator(Comparator<? super E> comp, Iterator<? extends E>[] iterators) Constructs a newCollatingIteratorthat will use the specified comparator to provide ordered iteration over the array of iterators.CollatingIterator(Comparator<? super E> comp, Iterator<? extends E> a, Iterator<? extends E> b) Constructs a newCollatingIteratorthat will use the specified comparator to provide ordered iteration over the two given iterators.
- 
Method SummaryModifier and TypeMethodDescriptionvoidaddIterator(Iterator<? extends E> iterator) Adds the givenIteratorto the iterators being collated.Comparator<? super E> Gets theComparatorby which collation occurs.intGets the index of the iterator that returned the last element.Gets the list of Iterators (unmodifiable).booleanhasNext()Returnstrueif any child iterator has remaining elements.next()Returns the next ordered element from a child iterator.voidremove()Removes the last returned element from the child iterator that produced it.voidsetComparator(Comparator<? super E> comp) Sets theComparatorby which collation occurs.voidsetIterator(int index, Iterator<? extends E> iterator) Sets the iterator at the given index.Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.util.IteratorforEachRemaining
- 
Constructor Details- 
CollatingIteratorpublic CollatingIterator()Constructs a newCollatingIterator. A comparator must be set by callingsetComparator(Comparator)before invokinghasNext(), ornext()for the first time. Child iterators will have to be manually added using theaddIterator(Iterator)method.
- 
CollatingIteratorConstructs a newCollatingIteratorthat will use the specified comparator for ordering. Child iterators will have to be manually added using theaddIterator(Iterator)method.- Parameters:
- comp- the comparator to use to sort; must not be null, unless you'll be invoking- setComparator(Comparator)later on.
 
- 
CollatingIteratorConstructs a newCollatingIteratorthat 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
 
- 
CollatingIteratorConstructs a newCollatingIteratorthat will use the specified comparator for ordering and have the specified initial capacity. Child iterators will have to be manually added using theaddIterator(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
 
- 
CollatingIteratorpublic CollatingIterator(Comparator<? super E> comp, Iterator<? extends E> a, Iterator<? extends E> b) Constructs a newCollatingIteratorthat 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
 
- 
CollatingIteratorConstructs a newCollatingIteratorthat 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- 
addIteratorAdds the givenIteratorto the iterators being collated.- Parameters:
- iterator- the iterator to add to the collation, must not be null
- Throws:
- IllegalStateException- if iteration has started
- NullPointerException- if the iterator is null
 
- 
getComparatorGets theComparatorby which collation occurs.- Returns:
- the Comparator
 
- 
getIteratorIndexGets the index of the iterator that returned the last element.- Returns:
- the index of the iterator that returned the last element
- Throws:
- IllegalStateException- if there is no last returned element
 
- 
getIteratorsGets the list of Iterators (unmodifiable).- Returns:
- the unmodifiable list of iterators added
 
- 
hasNext
- 
nextReturns the next ordered element from a child iterator.- Specified by:
- nextin interface- Iterator<E>
- Returns:
- the next ordered element
- Throws:
- NoSuchElementException- if no child iterator has any more elements
 
- 
removeRemoves the last returned element from the child iterator that produced it.- Specified by:
- removein interface- Iterator<E>
- Throws:
- IllegalStateException- if there is no last returned element, or if the last returned element has already been removed
 
- 
setComparatorSets theComparatorby which collation occurs. If you would like to use the natural sort order (or, in other words, if the elements in the iterators are implementing theComparableinterface), then use theComparableComparator.- Parameters:
- comp- the- Comparatorto set
- Throws:
- IllegalStateException- if iteration has started
 
- 
setIteratorSets the iterator at the given index.- Parameters:
- index- index of the Iterator to replace
- iterator- Iterator to place at the given index
- Throws:
- IndexOutOfBoundsException- if index < 0 or index >= size()
- IllegalStateException- if iteration has started
- NullPointerException- if the iterator is null
 
 
-