@GwtCompatible public abstract class AbstractSequentialIterator<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.
Example:
Iterator<Integer> powersOfTwo =
new AbstractSequentialIterator<Integer>(1) {
protected Integer computeNext(Integer previous) {
return (previous == 1 << 30) ? null : previous * 2;
}
};
AbstractLinkedIterator since 8.0)| Modifier | Constructor and Description |
|---|---|
protected |
AbstractSequentialIterator(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()
Returns
true if the iteration has more elements. |
T |
next()
Returns the next element in the iteration.
|
removeclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitforEachRemainingprotected AbstractSequentialIterator(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()
java.util.Iteratortrue if the iteration has more elements.
(In other words, returns true if Iterator.next() would
return an element rather than throwing an exception.)true if the iteration has more elementspublic final T next()
java.util.IteratorCopyright © 2010–2018. All rights reserved.