Class SkippingIterator<E>
- java.lang.Object
-
- org.apache.commons.collections4.iterators.AbstractUntypedIteratorDecorator<E,E>
-
- org.apache.commons.collections4.iterators.AbstractIteratorDecorator<E>
-
- org.apache.commons.collections4.iterators.SkippingIterator<E>
-
- All Implemented Interfaces:
Iterator<E>
public class SkippingIterator<E> extends AbstractIteratorDecorator<E>
Decorates another iterator to skip the first N elements.In case an offset parameter other than 0 is provided, the decorated iterator is immediately advanced to this position, skipping all elements before that position.
- Since:
- 4.1
-
-
Constructor Summary
Constructors Constructor Description SkippingIterator(Iterator<E> iterator, long offset)
Decorates the specified iterator to skip all elements until the iterator reaches the position atoffset
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description E
next()
void
remove()
-
Methods inherited from class org.apache.commons.collections4.iterators.AbstractUntypedIteratorDecorator
hasNext
-
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.util.Iterator
forEachRemaining
-
-
-
-
Constructor Detail
-
SkippingIterator
public SkippingIterator(Iterator<E> iterator, long offset)
Decorates the specified iterator to skip all elements until the iterator reaches the position atoffset
.The iterator is immediately advanced until it reaches the position at
offset
, incurring O(n) time.- Parameters:
iterator
- the iterator to be decoratedoffset
- the index of the first element of the decorated iterator to return- Throws:
NullPointerException
- if iterator is nullIllegalArgumentException
- if offset is negative
-
-
Method Detail
-
next
public E next()
Description copied from class:AbstractIteratorDecorator
-
remove
public void remove()
In case an offset other than 0 was specified, the underlying iterator will be advanced to this position upon creation. A call to
remove()
will still result in anIllegalStateException
if no explicit call tonext()
has been made prior to callingremove()
.
-
-