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:
java.util.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(java.util.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
-
-
-
-
Constructor Detail
-
SkippingIterator
public SkippingIterator(java.util.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:
java.lang.NullPointerException
- if iterator is nulljava.lang.IllegalArgumentException
- if offset is negative
-
-
Method Detail
-
next
public E next()
Description copied from class:AbstractIteratorDecorator
- Specified by:
next
in interfacejava.util.Iterator<E>
- Overrides:
next
in classAbstractIteratorDecorator<E>
-
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()
.- Specified by:
remove
in interfacejava.util.Iterator<E>
- Overrides:
remove
in classAbstractUntypedIteratorDecorator<E,E>
-
-