Class BoundedIterator<E>
- Type Parameters:
E
- the type of elements returned by this iterator.
- All Implemented Interfaces:
Iterator<E>
The decorated iterator is bounded in the range [offset, offset+max).
The offset
corresponds to the position of the first element to
be returned from the decorated iterator, and max
is the maximum
number of elements to be returned at most.
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
ConstructorDescriptionBoundedIterator
(Iterator<? extends E> iterator, long offset, long max) Decorates the specified iterator to return at most the given number of elements, skipping all elements until the iterator reaches the position atoffset
. -
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
-
BoundedIterator
Decorates the specified iterator to return at most the given number of elements, skipping 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 returnmax
- the maximum number of elements of the decorated iterator to return- Throws:
NullPointerException
- if iterator is nullIllegalArgumentException
- if either offset or max is negative
-
-
Method Details
-
hasNext
-
next
-
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()
.
-