我正在做一些作业,我们正在提供一个使用迭代器接口的类,以遍历某些文件,逐行分隔它们,并执行一种以某种方式修改数据的方法。在这种情况下,我使用的是列表,但是当列表不为空时,每次使用hasNext()都会返回false。
public class TransformToMany<InT,OutT> implements Iterator<OutT> {
private final Function<InT, List<OutT>> f;
private final Iterator<InT> input;
private ArrayList<OutT> inputQ = new ArrayList<OutT>();
private int counter = 0;
public TransformToMany(Function<InT, List<OutT>> f, Iterator<InT> input) {
this.input = input;
this.f = f;
}
@Override
public boolean hasNext() {
return !inputQ.isEmpty();
}
}