Class ZippingIterator<E>
java.lang.Object
org.apache.commons.collections4.iterators.ZippingIterator<E>
- Type Parameters:
E
- the type of elements returned by this iterator.
- All Implemented Interfaces:
Iterator<E>
Provides an interleaved iteration over the elements contained in a
collection of Iterators.
Given two Iterator
instances A
and B
, the
next()
method on this iterator will switch between A.next()
and B.next()
until both iterators are exhausted.
- Since:
- 4.1
-
Constructor Summary
ConstructorDescriptionZippingIterator
(Iterator<? extends E>... iterators) Constructs a newZippingIterator
that will provide interleaved iteration of the specified iterators.ZippingIterator
(Iterator<? extends E> a, Iterator<? extends E> b) Constructs a newZippingIterator
that will provide interleaved iteration over the two given iterators.Constructs a newZippingIterator
that will provide interleaved iteration over the three given iterators. -
Method Summary
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.util.Iterator
forEachRemaining
-
Constructor Details
-
ZippingIterator
Constructs a newZippingIterator
that will provide interleaved iteration of the specified iterators.- Parameters:
iterators
- the array of iterators- Throws:
NullPointerException
- if any iterator is null
-
ZippingIterator
Constructs a newZippingIterator
that will provide interleaved iteration over the two given iterators.- Parameters:
a
- the first child iteratorb
- the second child iterator- Throws:
NullPointerException
- if either iterator is null
-
ZippingIterator
Constructs a newZippingIterator
that will provide interleaved iteration over the three given iterators.- Parameters:
a
- the first child iteratorb
- the second child iteratorc
- the third child iterator- Throws:
NullPointerException
- if either iterator is null
-
-
Method Details
-
hasNext
Returnstrue
if any child iterator has remaining elements. -
next
Returns the next element from a child iterator.- Specified by:
next
in interfaceIterator<E>
- Returns:
- the next interleaved element
- Throws:
NoSuchElementException
- if no child iterator has any more elements
-
remove
Removes the last returned element from the child iterator that produced it.- Specified by:
remove
in interfaceIterator<E>
- Throws:
IllegalStateException
- if there is no last returned element, or if the last returned element has already been removed
-