Java使用foreach循环遍历Collection集合

使用 Iterator 接口迭代访问 Collection 集合里的元素,除了这个方法之外,我们还可以使用 Java 5 提供的 foreach 循环迭代访问集合元素,而且更加便捷。如下程序示范了使用 foreach 循环来迭代访问集合元素。

import java.util.Collection;
import java.util.HashSet;public class Test {public static void main(String[] args) {//创建一个集合Collection objs=new HashSet();objs.add("111");objs.add("222");objs.add("333");for(Object obj:objs){//此处的obj变量也不是集合元素本身String obj1=(String) obj;System.out.println(obj1);
//              if(obj1.equals("111")){//                  // 下面代码会引发 ConcurrentModificationException 异常
//                  objs.remove(obj);
//              }}System.out.println(objs);}
}
111
222
333
[111, 222, 333]

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

同样,当使用 foreach 循环迭代访问集合元素时,该集合也不能被改变,否则将引发 ConcurrentModificationException 异常。所以上面程序中 objs.remove(obj);代码处引发该异常。

1.12 foreach循环遍历Collection集合相关推荐

  1. Java学习之容器上(Collection接口常用方法,Iterator接口,使用foreach循环遍历Collection集合元素,Set集合通用知识(Hashset类,hashcode()与Lin

    1.容器API的类图结构如下: JAVA的集合类是一种特别有用的工具类,它可以用于存储数量不等的多个对象,并可以实现常用数据结构,如栈,队列等,除此之外,JAVA集合还可用于保存具有映射关系的关联数组 ...

  2. 使用foreach循环遍历Collection集合

    使用 Java 5 提供的 foreach 循环迭代访问集合元素,而且更加便捷.示范了使用 foreach 循环来迭代访问集合元素. public class ForeachTest {public ...

  3. 使用foreach循环遍历集合元素

    使用foreach循环遍历集合元素 Java5.0 提供了foreach循环迭代访问Collection和数组 遍历操作不需要获取Collection或数组的长度,无需使用索引访问元素 遍历集合的底层 ...

  4. foreach循环遍历

    使用foreach循环遍历集合元素: 1)Java5.0 提供了foreach循环迭代访问Collection和数组. 2)遍历操作不需要获取Collection或数组的长度,无需使用索引访问元素. ...

  5. 1.9 Lambda表达式遍历Collection集合

    Java使用Lambda表达式遍历Collection集合 Java 8 为 Iterable 接口新增了一个 forEach(Consumer action) 默认方法,该方法所需参数的类型是一个函 ...

  6. Iterator(迭代器)遍历Collection集合元素

    Iterator(迭代器)是一个接口,它的作用就是遍历容器的所有元素,也是 Java 集合框架的成员,但它与 Collection 和 Map 系列的集合不一样,Collection 和 Map 系列 ...

  7. java利用循环打印AVA_ava.util.ArrayList在foreach循环遍历时可以删除元素

    ArrayList是java开发时非常常用的类,常碰到需要对ArrayList循环删除元素的情况.这时候大家都不会使用foreach循环的方式来遍历List,因为它会抛java.util.Concur ...

  8. foreach循环遍历数组方法vue介绍

    在vue中用foreach循环遍历数组全部元素,利用回调函数对数组进行操作,自动遍历整个数组,且无法break中途跳出循环,不可控,不支持return操作输出,return只用于控制循环是否跳出当前循 ...

  9. jsp数据 foreach 循环遍历 (含效果图)- 代码篇

    jsp数据 foreach 循环遍历 (含效果图)- 代码篇 效果图: 重要代码 · 示下: <c:forEach items="${governorlist}" var=& ...

最新文章

  1. Swift 5 将进一步减小 iOS 应用安装包大小
  2. 获取当前绝对工作目录与被执行文件的绝对目录
  3. 全球服务器内存芯片市场规模,2020年全球存储芯片行业市场现状分析,中国是全球最主要的消费国「图」...
  4. Laravel-事件简单使用
  5. 云南省电子计算机高级,计算机基础知识-云南省电子信息高级技工学校.ppt
  6. Bailian4072 判断多个点是否在同一直线【数学】
  7. 【调剂】厦门大学信息学院2022年硕士研究生复试名单及调剂预通知
  8. “暴跌”微博难翻身:用户数持续大降,豪赌视频号没胜算
  9. html语言vb怎么定义数组,vb数组的定义方法是什么
  10. PoetryGenerator的参数
  11. Chrome 推荐几款小说、文案阅读免费插件(UI体验相对不错)
  12. scratch编程打字机
  13. 步进电机控制(Proteus仿真+代码
  14. ajax get传递数组参数吗,ajax 传递数组参数
  15. Linux | 人生苦短,我用Vim【最受欢迎的编辑器】
  16. 达人评测 迅鲲1300t相当于骁龙多少 迅鲲1300T对比骁龙870哪个好
  17. 支付宝API转账代付接口
  18. unittest框架用法
  19. 1-1/2+1/3…-1/100,求和
  20. 写一个双均线交易系统

热门文章

  1. DL之RNN:基于RNN实现模仿贴吧留言
  2. Mysql升级过程的问题
  3. 动态规划:求最长公共子序列和最长公共子串
  4. 透过源码看Session
  5. Java网络编程及安全
  6. 【工具】模板引擎 Velocity
  7. sql server教程sql存储过程和算法
  8. C++:类中的赋值函数
  9. AB1601的OTA区224K存储空间的使用注意事项
  10. EOS 源代码解读 (2)插件-流程