Package org.codehaus.commons.compiler.util.iterator

# Class MultiIterator<T>

java.lang.Object
org.codehaus.commons.compiler.util.iterator.MultiIterator<T>

Type Parameters:
  `T` - The element type of the iterator

All Implemented Interfaces:
  `Iterator<T>`

public class MultiIterator<T> extends Object implements Iterator<T>
An `Iterator` that traverses a `Collection` of `Iterator`s, `Collection`s and/or arrays.

## Constructor Summary

Constructors
Constructor
Description
`MultiIterator(Object[] array)`
`MultiIterator(Object[][] arrays)`
`MultiIterator(Object object, Collection<T> collection)`
Iterates over the given `Collection`, prepended with the given `Object`.
`MultiIterator(Object prefix, Iterator<T> iterator)`
Iterates over the given `Iterator`, prepended with the given prefix.
`MultiIterator(Collection<?> collection)`
`MultiIterator(Collection<T>[] collections)`
`MultiIterator(Collection<T> collection, Object object)`
Iterates over the given `Collection`, appended with the given `Object`.
`MultiIterator(Iterator<?> iterator)`
`MultiIterator(Iterator<T>[] iterators)`
`MultiIterator(Iterator<T> iterator, Object suffix)`
Iterates over the given `Iterator`, appended with the given `suffix`.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`hasNext()`
`T`
`next()`
`void`
`remove()`

### 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`

## Constructor Details

### MultiIterator

public MultiIterator(Iterator<T>[] iterators)

Parameters:
  `iterators` - An array of `Iterator`s

### MultiIterator

public MultiIterator(Collection<T>[] collections)

Parameters:
  `collections` - An array of `Collection`s

### MultiIterator

public MultiIterator(Object[][] arrays)

Parameters:
  `arrays` - An array of arrays

### MultiIterator

public MultiIterator(Collection<?> collection)

Parameters:
  `collection` - A `Collection` of `Collection`s, `Iterator`s and/or arrays

### MultiIterator

public MultiIterator(Iterator<?> iterator)

Parameters:
  `iterator` - An iterator over `Collection`s, `Iterator`s and/or arrays

### MultiIterator

public MultiIterator(Object[] array)

Parameters:
  `array` - An array of `Collection`s, `Iterator`s and/or arrays

### MultiIterator

public MultiIterator(Object object, Collection<T> collection)
Iterates over the given `Collection`, prepended with the given `Object`.

### MultiIterator

public MultiIterator(Collection<T> collection, Object object)
Iterates over the given `Collection`, appended with the given `Object`.

### MultiIterator

public MultiIterator(Object prefix, Iterator<T> iterator)
Iterates over the given `Iterator`, prepended with the given prefix.

### MultiIterator

public MultiIterator(Iterator<T> iterator, Object suffix)
Iterates over the given `Iterator`, appended with the given `suffix`.

## Method Details

### hasNext

public boolean hasNext()

Specified by:
  `hasNext` in interface `Iterator<T>`

### next

public T next()

Specified by:
  `next` in interface `Iterator<T>`

### remove

public void remove()

Specified by:
  `remove` in interface `Iterator<T>`