错误示范
import java.util.ArrayList;
import java.util.Iterator;
public class Test01 {
public static void main(String[] args) {
ArrayList<Person> list = new ArrayList();
list.add(new Person("张三",14));
list.add(new Person("李四",15));
list.add(new Person("小明",16));
list.add(new Person("小红",17));
Iterator<Person> iterator = list.iterator();
while (iterator.hasNext()){
System.out.println(iterator.next().getName()+" "+iterator.next().getAge());
}
}
}
可以看到,元素并不匹配,结果并不是我们所预期的
这是因为每调用一次next(),“指针”移向下一个元素,所以结果输出为本元素一个属性和下一个元素的一个属性
修改为
import java.util.ArrayList;
import java.util.Iterator;
public class Test01 {
public static void main(String[] args) {
ArrayList<Person> list = new ArrayList();
list.add(new Person("张三",14));
list.add(new Person("李四",15));
list.add(new Person("小明",16));
list.add(new Person("小红",17));
Iterator<Person> iterator = list.iterator();
while (iterator.hasNext()){
Person person = iterator.next();
System.out.println(person.getName()+" "+person.getAge());
}
}
}