[英]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.