javatools.datatypes
Class CombinedIterator<T>

java.lang.Object
  extended by javatools.datatypes.CombinedIterator<T>
All Implemented Interfaces:
java.io.Closeable, java.lang.Iterable<T>, java.util.Iterator<T>

public class CombinedIterator<T>
extends java.lang.Object
implements java.util.Iterator<T>, java.lang.Iterable<T>, java.io.Closeable

This class is part of the Java Tools (see http://mpii.de/yago-naga/javatools). It is licensed under the Creative Commons Attribution License (see http://creativecommons.org/licenses/by/3.0) by the YAGO-NAGA team (see http://mpii.de/yago-naga). The class combines multiple iterators to one iterator. The nice thing about it: The object is an Iterator as well as an Iterable, i.e. it can be used in a for-each-loop.
Example:

         for(Object o : new CombinedIterator(list1.iterator(),list2.iterator()))
               process(o);
   


Constructor Summary
CombinedIterator()
          Creates an empty CombinedIterator
CombinedIterator(java.util.Collection<java.lang.Iterable<? extends T>> its)
          Creates a CombinedIterator from some iterators
CombinedIterator(java.lang.Iterable<? extends T> i)
          Adds a set
CombinedIterator(java.util.Iterator<? extends T>... its)
          Creates a CombinedIterator from some iterators (may give a (useless) Java compiler warning)
CombinedIterator(java.util.Iterator<? extends T> i1)
          Creates a CombinedIterator from one iterator
CombinedIterator(java.util.Iterator<? extends T> i1, java.util.Iterator<? extends T> i2)
          Creates a CombinedIterator two iterators
CombinedIterator(java.util.Iterator<? extends T> i1, java.util.Iterator<? extends T> i2, java.util.Iterator<? extends T> i3)
          Creates a CombinedIterator three iterators
CombinedIterator(T i)
          Adds a set
 
Method Summary
 CombinedIterator<T> add(java.lang.Iterable<? extends T> i)
          Adds a set
 CombinedIterator<T> add(java.util.Iterator<? extends T> i)
          Adds an iterator
 CombinedIterator<T> add(T i)
          Adds a value
 void close()
          Closes all iterators (if closeable)
 boolean hasNext()
          TRUE if there are more elements
 java.util.Iterator<T> iterator()
          Returns this
 T next()
          Returns next
 void remove()
          Removes the current item
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CombinedIterator

public CombinedIterator()
Creates an empty CombinedIterator


CombinedIterator

public CombinedIterator(java.util.Iterator<? extends T> i1,
                        java.util.Iterator<? extends T> i2)
Creates a CombinedIterator two iterators


CombinedIterator

public CombinedIterator(java.util.Iterator<? extends T> i1)
Creates a CombinedIterator from one iterator


CombinedIterator

public CombinedIterator(java.util.Iterator<? extends T> i1,
                        java.util.Iterator<? extends T> i2,
                        java.util.Iterator<? extends T> i3)
Creates a CombinedIterator three iterators


CombinedIterator

public CombinedIterator(java.lang.Iterable<? extends T> i)
Adds a set


CombinedIterator

public CombinedIterator(T i)
Adds a set


CombinedIterator

public CombinedIterator(java.util.Iterator<? extends T>... its)
Creates a CombinedIterator from some iterators (may give a (useless) Java compiler warning)


CombinedIterator

public CombinedIterator(java.util.Collection<java.lang.Iterable<? extends T>> its)
Creates a CombinedIterator from some iterators

Method Detail

add

public CombinedIterator<T> add(java.util.Iterator<? extends T> i)
Adds an iterator


add

public CombinedIterator<T> add(T i)
Adds a value


add

public CombinedIterator<T> add(java.lang.Iterable<? extends T> i)
Adds a set


hasNext

public boolean hasNext()
TRUE if there are more elements

Specified by:
hasNext in interface java.util.Iterator<T>

next

public T next()
Returns next

Specified by:
next in interface java.util.Iterator<T>

iterator

public java.util.Iterator<T> iterator()
Returns this

Specified by:
iterator in interface java.lang.Iterable<T>

remove

public void remove()
Removes the current item

Specified by:
remove in interface java.util.Iterator<T>

close

public void close()
Closes all iterators (if closeable)

Specified by:
close in interface java.io.Closeable