繁体   English   中英

在Java中增强了for循环和迭代器

[英]Enhanced for loop and iterator in Java

我有一个实现了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 (int val : array[i]) {
    sb.append(val + " ");
}

此for循环如何使用迭代器?

增强的for循环可用于实现Iterable任何类。 它在内部调用由该类实现的iterator()方法以获得Iterator ,并使用Iterator hasNext()next()方法对Iterator的元素进行Iterator

因为您的类( MyList )实现了Iterable 因此,在内部它将调用您的iterator()方法,然后使用hasNext()next()方法,将在for循环中进行迭代。

请参阅:在类中使用增强型循环

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM