FileDocCategorySizeDatePackage
ArrayIterator.javaAPI DocExample1499Wed Jun 16 13:39:34 BST 2004com.darwinsys.util

ArrayIterator

public class ArrayIterator extends Object implements Iterator
De-mystify the Iterator interface, showing how to write a simple Iterator for an Array of Objects.
author
Ian Darwin, http://www.darwinsys.com/
version
$Id: ArrayIterator.java,v 1.10 2004/06/16 17:39:33 ian Exp $

Fields Summary
protected Object[]
data
The data to be iterated over.
protected int
index
Constructors Summary
public ArrayIterator(Object[] d)
Construct an ArrayIterator object.

param
d The array of objects to be iterated over.


	              	 
	    
		setData(d);
	
Methods Summary
public booleanhasNext()
Tell if there are any more elements.

return
true if not at the end, i.e., if next() will succeed.
return
false if next() will throw an exception.

		return (index < data.length);
	
public java.lang.Objectnext()
Returns the next element from the data

		if (hasNext()) {
			return data[index++];
		}
		throw new IndexOutOfBoundsException("only " + data.length + " elements");
	
public voidremove()
Remove the object that next() just returned. An Iterator is not required to support this interface, and we certainly don't!

		throw new UnsupportedOperationException(
			"This demo does not implement the remove method");
	
public voidsetData(java.lang.Object[] d)
(Re)set the data array to the given array, and reset the iterator.

param
d The array of objects to be iterated over.

		this.data = d;
		index = 0;