Java中增强的for循环和迭代器

Java中增强的for循环和迭代器,java,for-loop,iterator,Java,For Loop,Iterator,我有一个实现Iterable接口的类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].i

我有一个实现
Iterable
接口的类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循环如何使用迭代器?

增强的for循环适用于任何实现
Iterable
的类。它在内部调用该类实现的
迭代器()
方法以获得
迭代器,并使用
迭代器的
hasNext()
next()
方法来迭代
迭代器的元素,因为您的类(
MyList
)实现
Iterable
。因此,它将在内部调用您的
iterator()
方法,然后使用ListIterator的
hasNext()
next()
方法,它将在
for
循环中进行迭代

参考:

for (int val : array[i]) {
    sb.append(val + " ");
}