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