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); } }