package seday11;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
/**
* @author xingsir
* 遍历集合元素:Collection提供统一遍历集合元素的操作:迭代器模式
* Iterator iterator(),该方法会返回一个用于遍历该集合的迭代器,使用这个迭代器便可以遍历当前集合元素。
* java.util.Iterator接口 ,它是所有迭代器的顶级接口,不同的集合都实现了一个用于遍历自身元素的迭代器实现类。
* 迭代器遍历集合遵循的原则为:问,取,删其中删除元素不是遍历过程中的必要操作。
*/
public class IteratorDemo {
public static void main(String[] args) {
Collection c = new ArrayList();
c.add("A");
c.add("-");
c.add("B");
c.add("-");
c.add("C");
c.add("-");
c.add("D");
c.add("-");
c.add("E");
System.out.println(c);
Iterator i = c.iterator();//获取迭代器
/*
* boolean hasNext()判断集合是否还有下一个元素可以迭代
*/
while (i.hasNext()) {
String str= (String)i.next();
System.out.println(str);
if("-".equals(str)) {
/*
* 迭代器要求在遍历的过程中不得使用集合 的方法增删元素,否则遍历时会抛出异常
*/
//c.remove(str);
/*
* 迭代器也提供了remove方法,删除是通过 next方法取出的元素。
*/
i.remove();
}
}
System.out.println(c);
}
}