org.apache.commons.collections.iterators

Class CollatingIterator

Implemented Interfaces:
Iterator

public class CollatingIterator
extends java.lang.Object
implements Iterator

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().

Version:
$Revision: 1.13 $ $Date: 2004/02/18 00:59:50 $
Authors:
Rodney Waldhoff
Stephen Colebourne
Since:
Commons Collections 2.1

Constructor Summary

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, Iterator a, Iterator b)
Constructs a new CollatingIterator that will use the specified comparator to provide ordered iteration over the two given iterators.
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, int initIterCapacity)
Constructs a new CollatingIterator that will used the specified comparator for ordering and have the specified initial capacity.

Method Summary

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.

Constructor Details

CollatingIterator

public CollatingIterator()

CollatingIterator

public CollatingIterator(Comparator comp)
Parameters:
comp - the comparator to use to sort, or null to use natural sort order

CollatingIterator

public CollatingIterator(Comparator comp,
                         Collection 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, or null to use natural sort order
iterators - the collection of iterators

CollatingIterator

public 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.
Parameters:
comp - the comparator to use to sort, or null to use natural sort order
a - the first child ordered iterator
b - the second child ordered iterator

CollatingIterator

public CollatingIterator(Comparator comp,
                         Iterator[] 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, or null to use natural sort order
iterators - the array of iterators

CollatingIterator

public CollatingIterator(Comparator comp,
                         int initIterCapacity)
Parameters:
comp - the comparator to use to sort, or null to use natural sort order
initIterCapacity - the initial capacity for the internal list of child iterators

Method Details

addIterator

public void addIterator(Iterator iterator)
Adds the given Iterator to the iterators being collated.
Parameters:
iterator - the iterator to add to the collation, must not be null

getComparator

public Comparator getComparator()
Gets the Comparator by which collatation occurs.

getIterators

public List getIterators()
Gets the list of Iterators (unmodifiable).
Returns:
the unmodifiable list of iterators added

hasNext

public boolean hasNext()
Returns true if any child iterator has remaining elements.
Returns:
true if this iterator has remaining elements

next

public Object next()
            throws NoSuchElementException
Returns the next ordered element from a child iterator.
Returns:
the next ordered element

remove

public void remove()
Removes the last returned element from the child iterator that produced it.

setComparator

public void setComparator(Comparator comp)
Sets the Comparator by which collation occurs.

setIterator

public void setIterator(int index,
                        Iterator iterator)
Sets the iterator at the given index.
Parameters:
index - index of the Iterator to replace
iterator - Iterator to place at the given index

Copyright © 2001-2006 Apache Software Foundation. All Rights Reserved.