iteratorchain.java
来自「该原代码是实现机器学习中条件随机场模型的Java代码」· Java 代码 · 共 49 行
JAVA
49 行
/**
*
*/
package lcrf.stuff;
import java.util.Iterator;
import java.util.List;
import java.util.NoSuchElementException;
/**
* @author bgutmann
*
*/
public class IteratorChain<T> implements Iterator<T> {
private int actualiterator;
private List<Iterator<T>> iterators;
public IteratorChain(List<Iterator<T>> iterators) {
assert iterators != null;
this.iterators = iterators;
actualiterator = 0;
while (actualiterator < iterators.size() && !iterators.get(actualiterator).hasNext()) {
actualiterator++;
}
}
public boolean hasNext() {
return actualiterator < iterators.size();
}
public T next() {
if (actualiterator >= iterators.size()) {
throw new NoSuchElementException();
}
T result = iterators.get(actualiterator).next();
while (actualiterator < iterators.size() && !iterators.get(actualiterator).hasNext()) {
actualiterator++;
}
return result;
}
public void remove() {
throw new UnsupportedOperationException();
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?