public class CollatingIterator<E> extends Objectimplements Iterator <E>
Given two ordered Iterator instances A and B, the next() method on this iterator will return the lesser of A.next() and B.next().
| Constructor and Description |
|---|
CollatingIterator()
Constructs a new
CollatingIterator.
|
CollatingIterator(Comparator
Constructs a new
CollatingIterator that will used the specified comparator for ordering.
|
CollatingIterator(Comparator
Constructs a new
CollatingIterator that will use the specified comparator to provide ordered iteration over the collection of iterators.
|
CollatingIterator(Comparator
Constructs a new
CollatingIterator that will used the specified comparator for ordering and have the specified initial capacity.
|
CollatingIterator(Comparator
Constructs a new
CollatingIterator that will use the specified comparator to provide ordered iteration over the array of iterators.
|
CollatingIterator(Comparator
Constructs a new
CollatingIterator that will use the specified comparator to provide ordered iteration over the two given iterators.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addIterator(Iterator
Adds the given
Iterator to the iterators being collated.
|
Comparator |
getComparator()
Gets the
Comparator by which collatation occurs.
|
int |
getIteratorIndex()
Returns the index of the iterator that returned the last element.
|
List |
getIterators()
Gets the list of Iterators (unmodifiable).
|
boolean |
hasNext()
Returns
true if any child iterator has remaining elements.
|
E |
next()
Returns the next ordered element from a child iterator.
|
void |
remove()
Removes the last returned element from the child iterator that produced it.
|
void |
setComparator(Comparator
Sets the
Comparator by which collation occurs.
|
void |
setIterator(int index, Iterator
Sets the iterator at the given index.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitforEachRemainingpublic CollatingIterator()
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.
public CollatingIterator(Comparator<? super E> comp)
CollatingIterator that will used the specified comparator for ordering. Child iterators will have to be manually added using the
addIterator(Iterator) method.
comp - the comparator to use to sort; must not be null, unless you'll be invoking
setComparator(Comparator) later on.
public CollatingIterator(Comparator<? super E> comp, int initIterCapacity)
CollatingIterator that will used the specified comparator for ordering and have the specified initial capacity. Child iterators will have to be manually added using the
addIterator(Iterator) method.
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
public CollatingIterator(Comparator<? super E> comp, Iterator <? extends E> a, Iterator <? extends E> b)
CollatingIterator that will use the specified comparator to provide ordered iteration over the two given iterators.
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
NullPointerException - if either iterator is null
public CollatingIterator(Comparator<? super E> comp, Iterator <? extends E>[] iterators)
CollatingIterator that will use the specified comparator to provide ordered iteration over the array of iterators.
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
NullPointerException - if iterators array is or contains null
public CollatingIterator(Comparator<? super E> comp, Collection <Iterator <? extends E>> iterators)
CollatingIterator that will use the specified comparator to provide ordered iteration over the collection of iterators.
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
NullPointerException - if the iterators collection is or contains null
ClassCastException - if the iterators collection contains an element that's not an
Iterator
public void addIterator(Iterator<? extends E> iterator)
Iterator to the iterators being collated.
iterator - the iterator to add to the collation, must not be null
IllegalStateException - if iteration has started
NullPointerException - if the iterator is null
public void setIterator(int index,
Iterator<? extends E> iterator)
index - index of the Iterator to replace
iterator - Iterator to place at the given index
IndexOutOfBoundsException - if index < 0 or index > size()
IllegalStateException - if iteration has started
NullPointerException - if the iterator is null
public List<Iterator <? extends E>> getIterators()
public Comparator<? super E> getComparator()
Comparator by which collatation occurs.
Comparator
public void setComparator(Comparator<? super E> comp)
Comparator by 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 the
Comparable interface), then use the
ComparableComparator.
comp - the
Comparator to set
IllegalStateException - if iteration has started
public boolean hasNext()
true if any child iterator has remaining elements.
public E next() throws NoSuchElementException
next in interface
Iterator<E>
NoSuchElementException - if no child iterator has any more elements
public void remove()
remove in interface
Iterator<E>
IllegalStateException - if there is no last returned element, or if the last returned element has already been removed
public int getIteratorIndex()
IllegalStateException - if there is no last returned element