下面的文章要给大家带来的是和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迭代器详解