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

标签 java for-loop iterator

我有一个实现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 循环中。

引用:Using Enhanced For-Loops with Your Classes

关于java - Java 中增强的 for 循环和迭代器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31940150/

相关文章:

java - 使用剩余端点扩展或缩小 PCF 应用程序

java - 如何在 Java 中使用 Comparables 创建自定义参数化列表对象?

c++ - 如何将几个数字合并为一个,例如 1,7,3 = 173?

java - 迭代器中的 NullPointerException

python - 是否可以将 "zip()"与步骤参数一起使用?

java - 更改 MultiKeyMap 的每个值 (Apache Commons)

java - 编译错误 : Cannot us a method returning CompetionStage as a Handler for requests

Java文本到小程序转换器...有这样的东西吗?

for-loop - 两个单独的 for 循环与两个嵌套的 for 循环的运行时间是多少?

r - 如何在创建栅格的 for 循环中添加平均栅格?右