簡體   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