Middle
94
Implementeer een CompositeIterator met behulp van generics die twee iterators van hetzelfde type combineert
Bedrijven waar gevraagd werd
Antwoord van AI
sobes.tech AI
Ниже пример реализации CompositeIterator на Java с использованием дженериков, который объединяет два итератора одного типа T:
import java.util.Iterator;
import java.util.NoSuchElementException;
public class CompositeIterator<T> implements Iterator<T> {
private final Iterator<T> first;
private final Iterator<T> second;
public CompositeIterator(Iterator<T> first, Iterator<T> second) {
this.first = first;
this.second = second;
}
@Override
public boolean hasNext() {
return first.hasNext() || second.hasNext();
}
@Override
public T next() {
if (first.hasNext()) {
return first.next();
} else if (second.hasNext()) {
return second.next();
} else {
throw new NoSuchElementException();
}
}
@Override
public void remove() {
throw new UnsupportedOperationException("Remove not supported");
}
}
Этот итератор сначала перебирает элементы из первого итератора, затем из второго, объединяя их в один поток элементов.