public class LoopingIterator<E> extends Object implements ResettableIterator<E>
The iterator will loop continuously around the provided elements, unless
there are no elements in the collection to begin with, or all the elements
have been removed
.
Concurrent modifications are not directly supported, and for most collection implementations will throw a ConcurrentModificationException.
Constructor and Description |
---|
LoopingIterator(Collection<? extends E> coll)
Constructor that wraps a collection.
|
Modifier and Type | Method and Description |
---|---|
boolean |
hasNext()
Has the iterator any more elements.
|
E |
next()
Returns the next object in the collection.
|
void |
remove()
Removes the previously retrieved item from the underlying collection.
|
void |
reset()
Resets the iterator back to the start of the collection.
|
int |
size()
Gets the size of the collection underlying the iterator.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
forEachRemaining
public LoopingIterator(Collection<? extends E> coll)
There is no way to reset an Iterator instance without recreating it from the original source, so the Collection must be passed in.
coll
- the collection to wrapNullPointerException
- if the collection is nullpublic boolean hasNext()
Returns false only if the collection originally had zero elements, or
all the elements have been removed
.
public E next()
If at the end of the collection, return the first element.
next
in interface Iterator<E>
NoSuchElementException
- if there are no elements
at all. Use hasNext()
to avoid this error.public void remove()
This feature is only supported if the underlying collection's
iterator
method returns an implementation
that supports it.
This method can only be called after at least one next()
method call.
After a removal, the remove method may not be called again until another
next has been performed. If the reset()
is called, then remove may
not be called until next()
is called again.
public void reset()
reset
in interface ResettableIterator<E>
public int size()
Copyright © 2001–2019 The Apache Software Foundation. All rights reserved.