【发布时间】:2023-03-27 17:09:01
【问题描述】:
import java.util.*;
public class IteratorDemo {
public static void main(String args[]) {
// Create an array list
ArrayList al = new ArrayList();
// add elements to the array list
al.add("C");
al.add("A");
al.add("E");
al.add("B");
al.add("D");
al.add("F");
// Use iterator to display contents of al
System.out.print("Original contents of al: ");
Iterator itr = al.iterator();
while(itr.hasNext()) {
Object element = itr.next();
System.out.print(element + " ");
}
System.out.println();
}
}
我不明白。如果al.iterator() 返回al 的第一个元素,为什么我将itr.next()(我猜应该是第二个)放入element 然后打印element 是否打印第一个元素而不是第二个?
我是 Java 新手。与 c/c++ 并行,Iterator 是否像指针,而 Iterator.next() 是否像取消引用的指针?当我执行代码中的操作时,有人可以向我解释在低级别实际发生的情况吗?
【问题讨论】:
-
"如果 al.iterator() 返回 al 的第一个元素" ...你为什么这么认为?这应该是什么逻辑?为什么第一个元素的类型应该是
Iterator?