org.apache.commons.collections.iterators
Class LoopingIterator
java.lang.Object
|
+--org.apache.commons.collections.iterators.LoopingIterator
All Implemented Interfaces:
ResettableIterator
An Iterator that restarts when it reaches the end.
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
remove removed.
Concurrent modifications are not directly supported, and for most collection
implementations will throw a ConcurrentModificationException.
- Commons Collections 3.0
- Stephen Colebourne
LoopingIterator
public LoopingIterator(Collection coll)
Constructor that wraps a collection.
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 wrap
- if the collection is null
hasNext
public boolean hasNext()
Has the iterator any more elements.
Returns false only if the collection originally had zero elements, or
all the elements have been
remove removed.
- true if there are more elements
next
public Object next()
Returns the next object in the collection.
If at the end of the collection, return the first element.
- if there are no elements
at all.
remove
public void remove()
Removes the previously retrieved item from the underlying collection.
This feature is only supported if the underlying collection's
Collection.iterator 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.
reset
public void reset()
Resets the iterator back to the start of the collection.
size
public int size()
Gets the size of the collection underlying the iterator.
- the current collection size