集合中的遍历以及删除元素

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

  

原文地址:https://www.cnblogs.com/xyk1987/p/8275495.html