Java-循环遍历(for循环、Iterator接口、foreach循环)

目录

Iterator接口:

foreach循环(增强for循环):


Iterator接口:

Iterator接口是Java集合中的一员,主要用于迭代访问(即遍历)Collection中的元素,iterator对象也被称为迭代器

public static void main(String[] args){
    ArrayList list = new ArrayList();
    list.add("1");
    list.add("1");
    list.add("1");
    list.add("1");
    
    Iterator it = list.iterator();	//获取Iterator对象
    while(it.hashNext()){			//判断ArrayList中是否存在下一个元素
        Object obj = it.next();		//取出ArrayList集合中的元素
        System.out.println(obj);
    }
}

foreach循环(增强for循环):

foreach 是Java5新增,在遍历数组、集合的时候有不错的性能。

foreach 语法格式

for(元素类型  每次循环的元素名称 : 循环对象){
    
}
public class Test{
    //使用方式一:遍历数组
    public static void main(String[] args){
        String[] strs = {"小张","小韩","小薰"};
        for(String names : strs){
            System.out.println(names);
        }
    }

    //使用方式二:遍历集合-List
    public static void main(String[] args){
        List<String> list = new ArrayList<String>();
        list.add("小张");
        list.add("小韩");
        list.add("小薰");
        for(String names : list){
            System.out.println(names);
        }
    }
}

局限性:

当使用foreach循环遍历集合和数组时,只能访问集合中的元素,不能对元素进行修改。

public class Test{
    static String[] strs = {"aaa","bbb","ccc"};
    public static void main(String[] args){
        
        //foreach循环遍历数组
        for(String str:strs){
            str = "ddd";
        }
        System.out.println("foreach循环修改后的数组:"+strs[0]+","+strs[1]+","+strs[2]);	//aaa bbb ccc
        
        //for循环遍历数组
        for(int i = 0;i < strs.length;i++){
            strs[i] = "ddd";
        }
        System.out.println("普通循环修改后的数组:"+strs[0]+","+strs[1]+","+strs[2]);	//ddd ddd ddd
    }
}