org.apache.commons.collections.iterators

Class LoopingIterator

Implemented Interfaces:
Iterator, ResettableIterator

public class LoopingIterator
extends java.lang.Object
implements 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 removed.

Concurrent modifications are not directly supported, and for most collection implementations will throw a ConcurrentModificationException.

Version:
$Revision: 1.9 $ $Date: 2004/02/18 00:59:50 $
Authors:
Jonathan Carlson
Stephen Colebourne
Since:
Commons Collections 3.0

Constructor Summary

LoopingIterator(Collection coll)
Constructor that wraps a collection.

Method Summary

boolean
hasNext()
Has the iterator any more elements.
Object
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.

Constructor Details

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.

Parameters:
coll - the collection to wrap

Method Details

hasNext

public boolean hasNext()
Returns:
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.


remove

public void remove()
Removes the previously retrieved item from the underlying collection.

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.


reset

public void reset()
Resets the iterator back to the start of the collection.
Specified by:
reset in interface ResettableIterator

size

public int size()
Gets the size of the collection underlying the iterator.
Returns:
the current collection size

Copyright © 2001-2006 Apache Software Foundation. All Rights Reserved.