package com;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
class Peop {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
public class Hello {
public static void main(String agr[]) {
Peop p = new Peop();
p.setName("yangxin");
Peop p2 = new Peop();
p2.setName("zhuxiaofei");
//把2个对象实例放入ArrayList容器中。
List<Peop> list = new ArrayList<Peop>();
list.add(p);
list.add(p2);
//开始使用foreach循环打印,for (Peop x : list) ,这条语句定义了一个Peop对象的实例x,继而将每一个list元素赋值给x。
for (Peop x : list) {
System.out.println(x.getName());
}
System.out.println();
//开始使用Iterator迭代器开始打印
Iterator<Peop> iter = list.iterator();
//使用Iterator接口中的hasNext()判断iter是否有值
while(iter.hasNext()){
//用Iterator接口中的next()方法取出iter里的下一个值
Peop str = (Peop)iter.next();
System.out.println(str.getName());
}
}
}
输出:
yangxin
zhuxiaofei
yangxin
zhuxiaofei
这里看见了,使用foreach比使用Iterator迭代器简单,方便许多,但是使用foreach跟使用Iterator迭代器有很明显的略势,foreach在迭代时很难进行对容器的操作,所以一般用于打印(显示),而Iterator迭代器可以方便的操作容器内的元素。