public class CollatingIterator extends Object implements Iterator
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 comp)
Constructs a new
CollatingIterator that will used the
specified comparator for ordering. |
CollatingIterator(Comparator comp,
Collection iterators)
Constructs a new
CollatingIterator that will use the
specified comparator to provide ordered iteration over the collection
of iterators. |
CollatingIterator(Comparator comp,
int initIterCapacity)
Constructs a new
CollatingIterator that will used the
specified comparator for ordering and have the specified initial
capacity. |
CollatingIterator(Comparator comp,
Iterator[] iterators)
Constructs a new
CollatingIterator that will use the
specified comparator to provide ordered iteration over the array
of iterators. |
CollatingIterator(Comparator comp,
Iterator a,
Iterator b)
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 iterator)
Adds the given
Iterator to the iterators being collated. |
Comparator |
getComparator()
Gets the
Comparator by which collatation occurs. |
List |
getIterators()
Gets the list of Iterators (unmodifiable).
|
boolean |
hasNext()
Returns
true if any child iterator has remaining elements. |
Object |
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 comp)
Sets the
Comparator by which collation occurs. |
void |
setIterator(int index,
Iterator iterator)
Sets the iterator at the given index.
|
public CollatingIterator()
CollatingIterator
. Natural sort order
will be used, and child iterators will have to be manually added
using the addIterator(Iterator)
method.public CollatingIterator(Comparator 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, or null to use natural sort orderpublic CollatingIterator(Comparator 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, or null to use natural sort orderinitIterCapacity
- the initial capacity for the internal list
of child iteratorspublic CollatingIterator(Comparator comp, Iterator a, Iterator b)
CollatingIterator
that will use the
specified comparator to provide ordered iteration over the two
given iterators.comp
- the comparator to use to sort, or null to use natural sort ordera
- the first child ordered iteratorb
- the second child ordered iteratorNullPointerException
- if either iterator is nullpublic CollatingIterator(Comparator comp, Iterator[] iterators)
CollatingIterator
that will use the
specified comparator to provide ordered iteration over the array
of iterators.comp
- the comparator to use to sort, or null to use natural sort orderiterators
- the array of iteratorsNullPointerException
- if iterators array is or contains nullpublic CollatingIterator(Comparator comp, Collection iterators)
CollatingIterator
that will use the
specified comparator to provide ordered iteration over the collection
of iterators.comp
- the comparator to use to sort, or null to use natural sort orderiterators
- the collection of iteratorsNullPointerException
- if the iterators collection is or contains nullClassCastException
- if the iterators collection contains an
element that's not an Iterator
public void addIterator(Iterator iterator)
Iterator
to the iterators being collated.iterator
- the iterator to add to the collation, must not be nullIllegalStateException
- if iteration has startedNullPointerException
- if the iterator is nullpublic void setIterator(int index, Iterator iterator)
index
- index of the Iterator to replaceiterator
- Iterator to place at the given indexIndexOutOfBoundsException
- if index < 0 or index > size()IllegalStateException
- if iteration has startedNullPointerException
- if the iterator is nullpublic List getIterators()
public Comparator getComparator()
Comparator
by which collatation occurs.public void setComparator(Comparator comp)
Comparator
by which collation occurs.IllegalStateException
- if iteration has startedpublic boolean hasNext()
true
if any child iterator has remaining elements.public Object next() throws NoSuchElementException
next
in interface Iterator
NoSuchElementException
- if no child iterator has any more elementspublic void remove()
remove
in interface Iterator
IllegalStateException
- if there is no last returned element,
or if the last returned element has already been removedCopyright © 2001–2015 The Apache Software Foundation. All rights reserved.