下面的文章要给大家带来的是和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使用foreach循环遍历Collection集合。给出示例代码,展示使用foreach迭代访问集合元素更简洁,这是JDK 1.5带来的优势。同时指出,foreach中迭代变量非集合元素本身,修改其值无实际意义,且遍历中不能改变集合,否则会引发异常。
1510

被折叠的 条评论
为什么被折叠?



