|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.commons.collections4.iterators.CollatingIterator<E>
public class CollatingIterator<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()
.
Constructor Summary | |
---|---|
CollatingIterator()
Constructs a new CollatingIterator . |
|
CollatingIterator(Comparator<? super E> comp)
Constructs a new CollatingIterator that will used the
specified comparator for ordering. |
|
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. |
|
CollatingIterator(Comparator<? super E> comp,
int initIterCapacity)
Constructs a new CollatingIterator that will used the
specified comparator for ordering and have the specified initial
capacity. |
|
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. |
|
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. |
Method Summary | |
---|---|
void |
addIterator(Iterator<? extends E> iterator)
Adds the given Iterator to the iterators being collated. |
Comparator<? super E> |
getComparator()
Gets the Comparator by which collatation occurs. |
int |
getIteratorIndex()
Returns the index of the iterator that returned the last element. |
List<Iterator<? extends E>> |
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<? super E> comp)
Sets the Comparator by which collation occurs. |
void |
setIterator(int index,
Iterator<? extends E> iterator)
Sets the iterator at the given index. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public 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 iteratorspublic 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 iteratorb
- the second child ordered iterator
NullPointerException
- if either iterator is nullpublic 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 nullpublic 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
Method Detail |
---|
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 nullpublic void setIterator(int index, Iterator<? extends E> iterator)
index
- index of the Iterator to replaceiterator
- Iterator to place at the given index
IndexOutOfBoundsException
- if index < 0 or index > size()
IllegalStateException
- if iteration has started
NullPointerException
- if the iterator is nullpublic 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 startedpublic boolean hasNext()
true
if any child iterator has remaining elements.
hasNext
in interface Iterator<E>
public E next() throws NoSuchElementException
next
in interface Iterator<E>
NoSuchElementException
- if no child iterator has any more elementspublic void remove()
remove
in interface Iterator<E>
IllegalStateException
- if there is no last returned element, or if
the last returned element has already been removedpublic int getIteratorIndex()
IllegalStateException
- if there is no last returned element
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |