Salve ragazzi se ho un iteratore Iterator<T> a e voglio passare tutti gli elementi restituiti da questo iteratore, in un altro iteratore Iteratore<T> b, come faccio?

Questa soluzione è corretta:

codice:
<S> Iterator<S> concat(Iterator<? extends S> a, Iterator<? extends S> b) {

	ArrayList<S> elements = new ArrayList<S>();
	Iterator<S> c;
	S x;
	
	while (a.hasNext()) {
    		x=a.next();
    		elements.add(x);
	}

	while (b.hasNext()) {
    		x=b.next();
    		elements.add(beer);
	}

	c=elements.iterator();

	return c;
}
Tenendo presente che gli teratori devono essere compatibili