package collection;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
/**
* 遍历集合元素
* Collection提供了统一的变量集合元素的方式;迭代器
* 方法为:
* Iterator iterator()
* 该方法可以获取一个可以遍历当前集合元素的迭代器
*
* java.util.iterator接口
* 迭代器接口规定了用于遍历集合的相关方法,
* 不同的集合都实现了一个迭代器的实现类用于遍历自身
* 我们无需记住每种迭代器实现类的名字,
* 只需要将其看做Iterator遍历集合即可。
*
* 迭代器遍历集合的通用模式:
* 遵循:问,取,删
* 其中删除元素不是遍历元素时的必要操作
* @author 清风已来
*
*/
public class Collrction_iterator {
public static void main(String[] args) {
//遍历集合里的元素
Collection c= new ArrayList();
c.add("one");
c.add("#");
c.add("two");
c.add("#");
c.add("three");
c.add("#");
c.add("four");
c.add("#");
c.add("five");
c.add("#");
c.add("six");
c.add("#");
c.add("seven");
c.add("#");
c.add("eigth");
c.add("#");
c.add("nine");
c.add("#");
c.add("ten");
c.add("#");
c.add("zero");
System.out.println(c);
//获取用于遍历集合的迭代器
Iterator it =c.iterator();
/*
* boolean hasNext()
*
* 判断集合是否还有下一个元素可以遍历
*/
while(it.hasNext()) {
String str= (String)(it.next());
System.out.println(str);
if("#".equals(str)) {
/*
* 在使用迭代器遍历集合的过程中
* 不能通过集合的方法增删元素。
* 迭代器提供了remove方法,该方法不需要
* 传入参数,它是将通过next方法遍历除了的元素从集合中删除。
*/
//c.remove(str);
it.remove();
}
}
System.out.println(c);
}
}