Class AbstractSequentialIterator<T>
java.lang.Object
com.google.common.collect.UnmodifiableIterator<T>
com.google.common.collect.AbstractSequentialIterator<T>
- All Implemented Interfaces:
Iterator<T>
This class provides a skeletal implementation of the
Iterator
interface for sequences
whose next element can always be derived from the previous element. Null elements are not
supported, nor is the UnmodifiableIterator.remove()
method.
Example:
Iterator<Integer> powersOfTwo =
new AbstractSequentialIterator<Integer>(1) {
protected Integer computeNext(Integer previous) {
return (previous == 1 << 30) ? null : previous * 2;
}
};
- Since:
- 12.0 (in Guava as
AbstractLinkedIterator
since 8.0) - Author:
- Chris Povirk
-
Constructor Summary
ModifierConstructorDescriptionprotected
AbstractSequentialIterator
(@Nullable T firstOrNull) Creates a new iterator with the given first element, or, iffirstOrNull
is null, creates a new empty iterator. -
Method Summary
Methods inherited from class com.google.common.collect.UnmodifiableIterator
remove
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
-
AbstractSequentialIterator
Creates a new iterator with the given first element, or, iffirstOrNull
is null, creates a new empty iterator.
-
-
Method Details
-
computeNext
Returns the element that followsprevious
, or returnsnull
if no elements remain. This method is invoked during each call tonext()
in order to compute the result of a future call tonext()
. -
hasNext
-
next
-