我有一个实现Iterable
接口(interface)的MyList类。这是我的一个类中的 toString()
方法:
public String toString() {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 4; i++) {
// First example using iterator
for (Iterator<Integer> itr = array[i].iterator(); itr.hasNext();) {
sb.append(itr.next() + " ");
}
// And the same result using enhanced for loop
for (int val : array[i]) {
sb.append(val + " ");
}
}
return sb.toString();
}
此循环迭代我的列表中的节点:
for (int val : array[i]) {
sb.append(val + " ");
}
这个for循环如何使用迭代器?
最佳答案
因为您的类 (MyList
) 实现了 Iterable
。因此,在内部它将调用您的 iterator()
方法,然后使用 ListIterator 的 hasNext()
和 next()
方法进行迭代在 for
循环中。
关于java - Java 中增强的 for 循环和迭代器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31940150/