可以使用两种方法轻松地迭代集合。使用for-Each循环-使用foreach循环并使用object访问数组。

使用迭代器-使用foreach循环并使用object访问数组。

差异性ConcurrentModificationException-使用for-Each循环,如果修改了对象,则可能会发生ConcurrentModificationException。使用迭代器,可以消除此问题。

大小检查-使用每次检查,不需要大小检查。如果hasNext()未正确使用迭代器,则可能发生NoSuchElementException。

性能-两种情况下的性能相似。

以下是使用上述方式的示例。

示例import java.util.ArrayList;

import java.util.Iterator;

import java.util.List;

public class Tester {

public static void main(String[] args) {

List list = new ArrayList<>();

list.add(1);list.add(2);list.add(3);

list.add(4);list.add(5);list.add(6);

System.out.println("List: ");

//方式1:

for (int i : list) {

System.out.print(i + " ");

}

Iterator listIterator = list.iterator();

System.out.println("\nList: ");

while(listIterator.hasNext()){

System.out.print(listIterator.next() + " ");

}

}

}

输出结果List:

1 2 3 4 5 6

List:

1 2 3 4 5 6

java中用iterator去检查最大值_Java中的Iterator vs forEach相关推荐

  1. 如何得到iterator的当前元素_Java中迭代器Iterator详解

    1.定义 Iterator的定义为:对Collection进行迭代的迭代器,Iterator取代了Java Collection Framework中的Enumeration.Iterator与Enu ...

  2. java常见检查异常_java中常见异常总汇,附解释

    Java Exception: 1.Error 2.Runtime Exception 运行时异常 3.Exception 4.throw 用户自定义异常 异常类分两大类型:Error类代表了编译和系 ...

  3. java 双重检查锁_Java中可怕的双重检查锁定习惯用法

    java 双重检查锁 本文讨论的问题不是新问题,但即使是经验丰富的开发人员也仍然很棘手. 单例模式是常见的编程习惯用法. 但是,当与多个线程一起使用时,必须进行某种类型的同步,以免破坏代码. 在相关文 ...

  4. java的异常有哪些类_Java中的异常类型有哪些

    1. java.lang.nullpointerexception 这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对 ...

  5. Java如何解决mysql读写延迟_java中延迟任务的处理方式

    1.利用延迟队列 延时队列,第一他是个队列,所以具有对列功能第二就是延时,这就是延时对列,功能也就是将任务放在该延时对列中,只有到了延时时刻才能从该延时对列中获取任务否则获取不到-- 应用场景比较多, ...

  6. java什么是栈和堆_JAVA中的栈和堆

    JAVA在程序运行时,在内存中划分5片空间进行数据的存储.分别是:1:寄存器.2:本地方法区.3:方法区.4:栈.5:堆. 基本,栈stack和堆heap这两个概念很重要,不了解清楚,后面就不用学了. ...

  7. java未检查异常_Java中已检查和未检查的异常

    java未检查异常 Java有两种类型的异常-已检查和未检查. 简而言之,选中的是指开发人员可以从异常中合理恢复的情况,而未选中的异常是无法处理的编程错误. 本文介绍了何时使用哪种. 但这不是那么简单 ...

  8. JAVA中希尔排序去的讲解_java 中基本算法之希尔排序的实例详解

    java 中基本算法之希尔排序的实例详解 希尔排序(Shell Sort)是插入排序的一种.也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本.希尔排序是非稳定排序算法.该方法因DL.Shel ...

  9. bigdecimal java 最大值_Java中的数学运算BigDecimal

    Math类 package ch7; /** * Created by Jiqing on 2016/11/24. */ public class MathDemo { public static v ...

最新文章

  1. 使用Leangoo玩转故事地图
  2. app启动页的设计技巧(一)
  3. Nginx:几种负载均衡调度策略配置
  4. git / 如何将其他分支的某些 commit 合并到当前分支中?
  5. 冒泡排序代码及其思路(怕忘记才记录的_(:з」∠)_)
  6. boost::test模块测试功能模板测试用例
  7. BZOJ-1036 [ZJOI2008]树的统计
  8. mysql 5.6.31 配置_MySQL5.6.31 winx64.zip 安装配置教程详解
  9. .net mysql字符串截取_MySQL 字符串拆分操作(含分隔符的字符串截取)
  10. [2019杭电多校第四场][hdu6614]AND Minimum Spanning Tree(贪心)
  11. 人人商城生成app教程_人人商城打包app教程 方法 hbuilder打包支持支付宝微信原生支付...
  12. 64位x86微服务器芯片,卖贝商城告诉你微服务器替代x86服务器的利与弊
  13. Python 中的关键字with详解
  14. 遇到了javah无法访问类的问题
  15. linu重置root密码(CentOS7)
  16. ui设计需要学编程吗难不难学习
  17. go第三方日志库 Zap
  18. 百词斩2021高频题汇总 | 备战春招,刷这30题就够了!
  19. markdown中编辑数学公式用到的技巧
  20. ALtium Designer: .prjscr .pas转换成封装库(从ADI公司下载封装)

热门文章

  1. MySQL 数据库常用存储引擎的特点
  2. Ubuntu 怎么增加根目录 大小
  3. jquery之图片懒加载(总结)
  4. dubbo源码分析系列(1)扩展机制的实现
  5. mysql-binlog日志恢复数据库
  6. -----------最小生成树----------------
  7. 使用二进制包安装MariaDB
  8. TcpClient和TcpListener 类的使用-编写一个点对点聊天工具(初级入门篇)
  9. linux下安装编译网卡驱动
  10. mac下查看tensorboard中的graph