- 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