java使用foreach循环遍历Collection集合详解

下面的文章要给大家带来的是和java使用foreach循环遍历Collection集合有关的内容,下面就一起来了解一下吧,希望可以对你的java学习之路有所帮助。

来看一下使用foreach循环来迭代访问集合元素的示例:

public class ForeachTest
{
    public static void main(String[] args)
    {
        // 创建一个集合
        Collection objs = new HashSet();
        objs.add("XXX网Java教程");
        objs.add("XXX网C语言教程");
        objs.add("XXX网C++教程");
        for (Object obj: objs)
        {
            // 此处的obj变量也不是集合元素本身
            String obj1 = (String) obj;
            System.out.println(obj1);
            if (obj1.equals("XXX网Java教程"))
            {
                // 下面代码会引发 ConcurrentModificationException 异常
                objs.remove(obj);
            }
        }
        System.out.println(objs);
    }
}

下面是输出结果:

XXX网C++教程
XXX网C语言教程
XXX网Java教程
[XXX网C++教程,XXX网C语言教程]

在上面的代码当中,使用foreach循环迭代访问Collection集合里的元素更加简洁,这主要就是JDK 1.5的foreach循环带来的优势,和使用Iterator接口迭代访问集合元素相似的是,foreach循环当中的迭代变量也不是集合元素本身,系统只是依次将集合元素的值赋给迭代变量,所以在foreach循环当中修改迭代变量的值也没有任何实际意义。

同样的,在使用foreach循环迭代访问集合元素的时候,这个集合也不可以被改变,否则的话,就会引发ConcurrentModificationException异常。

所以,上面程序中第14行代码处将引发该异常。

java使用foreach循环遍历Collection集合你都清楚了吗?更多相关内容,请继续关注奇Q工具网的常见问题栏目进行了解吧。

推荐阅读:

java使用Lambda表达式遍历Iterator迭代器详解

Iterator是什么?java Iterator遍历Collection集合元素详解

java使用Lambda表达式遍历Collection集合详解