@Beta @GwtCompatible public abstract class AbstractLinkedIterator<T> extends UnmodifiableIterator<T>
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.Modifier | Constructor and Description |
---|---|
protected |
AbstractLinkedIterator(T firstOrNull)
Creates a new iterator with the given first element, or, if
firstOrNull is null, creates a new empty iterator. |
Modifier and Type | Method and Description |
---|---|
protected abstract T |
computeNext(T previous)
Returns the element that follows
previous , or returns null
if no elements remain. |
boolean |
hasNext() |
T |
next() |
remove
protected AbstractLinkedIterator(@Nullable T firstOrNull)
firstOrNull
is null, creates a new empty iterator.protected abstract T computeNext(T previous)
previous
, or returns null
if no elements remain. This method is invoked during each call to
next()
in order to compute the result of a future call to
next()
.public final boolean hasNext()