Package de.mhus.lib.core.util
Class FlatteningIterator<E>
- java.lang.Object
-
- de.mhus.lib.core.util.FlatteningIterator<E>
-
- Type Parameters:
E-
- All Implemented Interfaces:
Iterator<E>
public class FlatteningIterator<E> extends Object implements Iterator<E>
An iterator that 'flattens out' collections, iterators, arrays, etc. That is it will iterate out their contents in order, descending into any iterators, iterables or arrays provided to it. An example (not valid Java for brevity - some type declarations are ommitted): new FlattingIterator({1, 2, 3}, {{1, 2}, {3}}, new ArrayList({1, 2, 3})) Will iterate through the sequence 1, 2, 3, 1, 2, 3, 1, 2, 3. Note that this implements a non-generic version of the Iterator interface so may be cast appropriately - it's very hard to give this class an appropriate generic type.- Author:
- david
-
-
Constructor Summary
Constructors Constructor Description FlatteningIterator(Object... objects)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanhasNext()Returns if there are any objects left to iterate over.Enext()Returns the next element in our iteration, throwing a NoSuchElementException if none is found.voidremove()-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.util.Iterator
forEachRemaining
-
-