考虑:
List<String> someList = new ArrayList<String>();
// add "monkey", "donkey", "skeleton key" to someList
Run Code Online (Sandbox Code Playgroud)
for (String item : someList) {
System.out.println(item);
}
Run Code Online (Sandbox Code Playgroud)
如果for不使用for each语法,等效循环会是什么样的?
我正在阅读" 我们是否需要在ArrayList上使用迭代器? " 这一问题中提到的答案.
在答案中,用户声明了这样的话:"使用ArrayLists的迭代器的一个大用例是当你想在迭代时删除元素".
即使在Java中使用ArrayList的remove方法也可以实现这一点.我的问题是为什么我们需要ArrayList中的迭代器?
考虑一下代码:
import java.util.*;
public class ocajp66 {
public static void main(String[] args) {
ArrayList a = new ArrayList();
for (int i = 0; i < 10; i++) {
a.add(i);
}
System.out.printf("BEFORE ITERATOR\n");
for (int i = 0; i < a.size(); i++) {
System.out.printf("I:%d\n", a.get(i));
}
System.out.printf("AFTER ITERATOR\n");
Iterator i = a.iterator();
while (i.hasNext()) {
System.out.printf("I:%d\n", i.next());
}
}
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以解释迭代器的重要性吗?如果你能用代码解释我会很棒.