Class BoundedIterator<E>

Type Parameters:
E - the type of elements returned by this iterator.
All Implemented Interfaces:

public class BoundedIterator<E> extends Object implements Iterator<E>
Decorates another iterator to return elements in a specific range.

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.

  • Constructor Details

    • BoundedIterator

      public BoundedIterator(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 at offset.

      The iterator is immediately advanced until it reaches the position at offset, incurring O(n) time.

      iterator - the iterator to be decorated
      offset - the index of the first element of the decorated iterator to return
      max - the maximum number of elements of the decorated iterator to return
      NullPointerException - if iterator is null
      IllegalArgumentException - if either offset or max is negative
  • Method Details