迭代器:提供一种方法对一个容器对象中的各个元素进行访问,忽略内部结构。迭代器一旦生成,集合不可添加删除元素。
迭代器中的三个方法:
boolean hasNext();判断当前游标下一位有无元素(有true 无false)
E next();将迭代器下移一位并返回
remove();删除当前游标指向的元素
public static void main(String[] args) {
// TODO Auto-generated method stub
Collection c=new ArrayList();
c.add(1);
c.add("asdas");
c.add(false);
c.add(1.23);
//创建迭代器
Iterator it = c.iterator();
//如果添加或删除数据之后,一定要重新生成迭代器
c.add(2);
it=c.iterator();
while(it.hasNext()) {
Object o=it.next();
System.out.println(o);
}
//迭代器使用完之后,不会自动复原,需要重新创建
while(it.hasNext()) {
Object o=it.next();
System.out.println(o);
}
}
运行结果:
asdas
false
1.23
2
我们可以看到只有一组数据输出,当迭代器用完后想继续操作,我们只能重新创建迭代器