迭代器
/*
迭代器 遍历集合
迭代器Iterator  是一个接口
作用是绑定集合 迭代集合中的元素。
特殊之处: 在迭代期间可以移除迭代器指向的集合的元素
boolean hasNext() 
          检查集合列表中是否还有元素未进行遍历,检查的方式从第一个依次向后检查
 Object next() 
          获得当前遍历到的元素
 void remove() 
          从迭代器指向的 collection 中移除迭代器遍历到的当前元素。 
【注意:如果使用迭代器遍历集合元素,迭代器必须依附于集合。
简单而言:有一个迭代器对象,就必须有一个与之关联的集合对象
】
【注意: 在迭代期间 集合本身不能操作移除功能】
*/
import java.util.*;
class IteratorDemo 
{
    public static void main(String[] args) 
    {
        //System.out.println("Hello World!");
        Collection c = new ArrayList();
        c.add("蜡笔小新");
        c.add(5);
        c.add("淘气");
        // 将集合与迭代器绑定【】
        Iterator ite = c.iterator();
        
        while(ite.hasNext()){
            
            // 获取集合中的元素
            Object obj = ite.next();
        
            System.out.println(obj);
            // 移除迭代器指向的集合中的元素
            ite.remove();
            //c.remove("淘气");
            /*
            ConcurrentModificationException 并发修改异常
            */
        }
        System.out.println(c);
    }
}
foreach
/*
增强for循环进行遍历
【集合修改本身元素】
*/
import java.util.*;
class ForeachDemo 
{
    public static void main(String[] args) 
    {
        //System.out.println("Hello World!");
        Collection c = new ArrayList();
        c.add("路飞");
        c.add("娜美");
        c.add("鸣人");
        for(Object obj : c){
        //    c.remove("鸣人");// ConcurrentModificationException
            System.out.println(obj);
        }
    }
}
for
/*
普通for循环
注意:需要获得脚标 需要将集合转化为数组
*/
import java.util.*;
class ForDemo 
{
    public static void main(String[] args) 
    {
        //System.out.println("Hello World!");
        Collection c = new ArrayList();
        c.add("貂蝉");
        c.add("西施");
        c.add("王昭君");
        c.add("杨玉环");
        // 将集合转换为数组
        Object[] arr = c.toArray();
        for(int i = 0; i < arr.length; i++){
            c.remove("王昭君");
            System.out.println(arr[i]);
        }
    }
}
来源:https://www.cnblogs.com/rzqz/p/7261685.html