All Downloads are FREE. Search and download functionalities are using the official Maven repository.

fr.laas.fape.planning.util.IteratorConcat Maven / Gradle / Ivy

package fr.laas.fape.planning.util;

import java.util.Iterator;

public class IteratorConcat implements Iterator {

    final Iterator[] iterators;
    int cur = 0;

    @SafeVarargs
    public IteratorConcat(Iterator... iterators) {
        this.iterators = iterators;
        // place cur on the first non empty iterator
        while(cur < iterators.length && !iterators[cur].hasNext()) {
            cur++;
        }
    }

    @Override
    public boolean hasNext() {
        return cur < iterators.length && iterators[cur].hasNext();
    }

    @Override
    public T next() {
        T ret = iterators[cur].next();
        while(cur < iterators.length && !iterators[cur].hasNext()) {
            cur++;
        }
        return ret;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy