org.scijava.util
Class IteratorPlus<E>

java.lang.Object
  extended by org.scijava.util.IteratorPlus<E>
All Implemented Interfaces:
Iterable<E>, Enumeration<E>, Iterator<E>

public class IteratorPlus<E>
extends Object
implements Enumeration<E>, Iterator<E>, Iterable<E>

A class that provides more thorough support for iteration. Any Enumeration, Iterator or Iterable object can be provided to the constructor, and the resultant IteratorPlus will provide all three access mechanisms. In the case of iterator() it simply returns this, for more convenient usage with for-each loops. Note, however, that because of this fact, multiple calls to {#iterator()} will produce the same Iterator every time (in fact, the IteratorPlus object itself).

For example, let's say you have an Enumeration<String> and you want to loop over it with the for-each syntax. You could write:

final Enumeration<String> en = ...; for (final String s : new IteratorPlus(en)) // do something with the string

The same technique works with Iterator.

Author:
Curtis Rueden

Constructor Summary
IteratorPlus(Enumeration<E> enumeration)
           
IteratorPlus(Iterable<E> iterable)
           
IteratorPlus(Iterator<E> iterator)
           
 
Method Summary
 boolean hasMoreElements()
           
 boolean hasNext()
           
 Iterator<E> iterator()
           
 E next()
           
 E nextElement()
           
 void remove()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IteratorPlus

public IteratorPlus(Iterable<E> iterable)

IteratorPlus

public IteratorPlus(Enumeration<E> enumeration)

IteratorPlus

public IteratorPlus(Iterator<E> iterator)
Method Detail

hasMoreElements

public boolean hasMoreElements()
Specified by:
hasMoreElements in interface Enumeration<E>

nextElement

public E nextElement()
Specified by:
nextElement in interface Enumeration<E>

hasNext

public boolean hasNext()
Specified by:
hasNext in interface Iterator<E>

next

public E next()
Specified by:
next in interface Iterator<E>

remove

public void remove()
Specified by:
remove in interface Iterator<E>

iterator

public Iterator<E> iterator()
Specified by:
iterator in interface Iterable<E>


Copyright © 2009–2014 SciJava. All rights reserved.