Java中增强的for循环和迭代器
我有一个实现Java中增强的for循环和迭代器,java,for-loop,iterator,Java,For Loop,Iterator,我有一个实现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].i
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循环如何使用迭代器?增强的for循环适用于任何实现
Iterable
的类。它在内部调用该类实现的迭代器()
方法以获得迭代器,并使用迭代器的hasNext()
和next()
方法来迭代迭代器的元素,因为您的类(MyList
)实现Iterable
。因此,它将在内部调用您的iterator()
方法,然后使用ListIterator的hasNext()
和next()
方法,它将在for
循环中进行迭代
参考:
for (int val : array[i]) {
sb.append(val + " ");
}