【有趣的实验】JAVA 遍历数组的几种方式的耗时对比

article/2025/9/26 9:42:22

一、前言

出于对遍历方式的耗时想法,是普通for循环、fori、foreach、迭代器 iterator、还是steam流的形式哪种耗时更少呢?

首先添加一个List 集合,这边采用ArraryList

        ArrayList<Integer> list = new ArrayList<Integer>();list = new ArrayList<Integer>();long startTime = System.currentTimeMillis();for (int i = 0; i < 10000000; i++) {list.add(i);}

下面是几种方式

1.1、普通for循环

    long startTime = System.currentTimeMillis();for (int i = 0; i < list.size(); i++) {int a = 0;a += list.get(i);}System.out.println("耗时:" + (System.currentTimeMillis() - startTime));

1.2 增强for循环

    long startTime = System.currentTimeMillis();for (Integer itr : list) {int a = 0;a += itr;}System.out.println("增强for耗时:" + (System.currentTimeMillis() - startTime));

 1.3 迭代器

        long startTime3 = System.currentTimeMillis();Iterator<Integer> iterator = list.iterator();while (iterator.hasNext()) {int xx=0;Integer next = iterator.next();xx += next;}System.out.println("迭代器耗时:" + (System.currentTimeMillis() - startTime3));

1.4 forEach

       long startTime4 = System.currentTimeMillis();list.forEach(integer -> {int xx=0;xx += integer;});System.out.println("foreach耗时:" + (System.currentTimeMillis() - startTime4));

1.5 stream流

        long startTime5 = System.currentTimeMillis();list.stream().forEach(integer -> {int xx=0;xx += integer;});System.out.println("stream流耗时:" + (System.currentTimeMillis() - startTime5));
 

一千万数据在耗时情况如下:

 可以看到普通for循环时间更少。


http://chatgpt.dhexx.cn/article/OEa9QM1m.shtml

相关文章

Java高逼格遍历数组的方式

在普通for循环遍历或取数组元素或做其他操作时&#xff0c;总会以将要超出数组最大索引作为循环结束的标志&#xff0c;也就是说每一次循环都要去判断此条件是否满足 而forEach强就强在它无需这一步流程&#xff0c;所以效率要高 但在今天我无意写出了一种这样的遍历方式&…

java遍历数组的三种方式

for循环遍历 用for循环遍历数组是很常见的一种方法&#xff0c;Java语言中通过数组的length属性可获得数组的长度。 package demo; publicclasstest{ public static void main(String[] args){ int [] array {1,2,3,4,5};for(int i 0;i < array.length;i){ System.out.print…

Java基础-遍历数组

Java基础-遍历数组 1、语法简介2、一维数组3、二维数组4、三维数组 1、语法简介 在Java中&#xff0c;对for语句的功能给予了扩充、加强&#xff0c;以便更好的遍历数组。 语法格式如下&#xff1a; for(声明循环变量:数组的名字){......... }其中&#xff0c;声明的循环变量…

JAVA 遍历数组求平均值与最大值

求平均值与最大值 实现前需要懂得如何获取数组长度实现数组遍历 例如&#xff1a; int[] array {2,3,6,8,18}; for(int i 0 ; i<array.length; i){ System.out.print(array[i] ","); } 输出结果&#xff1a;2,3,6,8,18 求最大值时则采用擂台制现默认一个数…

java遍历数组(Java遍历数组拿取对应的)

java中怎样遍历数组对象的值 int[] a {1,2,3}; for(int i0;i System.out.println(a[i]); }//定义一个string类型的一维数组 string[] namesnew string[5]; //为数组赋值 for (int i 0; i < names.length; i) { names[i]integer.tostring(i); //使用foreach遍历数组 int in…

java遍历数组最简洁的方法,java遍历数组的方式有哪些?

我们也了解Java也已经很久了&#xff0c;那今天小编想问大家是否知道java遍历数组的方式有哪些?是不是内心已经已经有答案了?让就跟着小编的步伐一起看看吧。 1. for循环遍历 这是最基本的遍历方式 通常遍历数组都是使用for循环来实现。遍历一维数组很简单&#xff0c;遍历二…

java中遍历数组方法

1循环遍历数组方法 在main主函数中给数组赋值即可调用该方法 public static void fun07(int[] array) {System.out.print("[");//输出一个左中括号if (array ! null) { //如果数组不为空&#xff0c;执行下面的语句for (int i 0; i < array.length; i) { /…

Java中数组遍历的五种方法

遍历&#xff1a;Stream遍历&#xff0c;循环遍历 //TODO 为Java提供的一种书签import java.util.Vector; import java.util.Enumeration; import java.util.Iterator; import java.util.Random;/*** 数组多种遍历偶数方法* * author 轩**/ public class Main {public static v…

Java:遍历数组的三种方法

1、for循环遍历数组 用for循环遍历数组是很常见的一种方法&#xff0c;Java语言中通过数组的length属性可获得数组的长度。 package demo;public class test {public static void main(String[] args) {int [] array {1,2,3,4,5};for(int i 0;i < array.length;i) {Syste…

java中数组遍历的三种方式

1.for循环遍历 通常遍历数组都是使用for循环来实现。遍历一维数组很简单&#xff0c;遍历二维数组需要使用双层for循环&#xff0c;通过数组的length属性可获得数组的长度。 2.Arrays工具类中toString静态方法遍历 利用Arrays工具类中的toString静态方法可以将一维数组转化为字…

Oracle--常用数据库对象(视图、序列、索引、同义词)详解

常见的数据库对象 对象描述表基本的数据存储集合&#xff0c;由行和列组成视图从表中抽出的逻辑上相关的数据集合序列提供有规律的数值索引提高查询的效率同义词给对象起别名 视图 什么是视图&#xff1f; 视图是一个 虚 表 \color{red}{虚表} 虚表视图建立在已有表的基础上…

Oracle【基础函数、视图、索引】

1. 认识oracle数据库 Oracle是非常强大的数据库软件。默认端口&#xff1a;1521。与MySQL不同的是&#xff0c;Oracle数据库的概念是一个操作系统装的就是一个大的数据库。一个数据库可以有很多个实例&#xff0c;每个实例占用一系列的进程和内存。通常一台机器只用一个实例。每…

主要是sql查询符合在圆形,多边形区域经纬度的数据

主要是sql查询符合在圆形&#xff0c;多边形区域经纬度的数据 查询 圆形 中心点 距离 drop table if exists demo; CREATE TABLE demo (id int(5) NOT NULL AUTO_INCREMENT COMMENT 主键,shop_name varchar(50) DEFAULT NULL COMMENT 商品名称,lng DECIMAL( 11, 8 ) DEFA…

mysql计算相关系数_用sql实现相关系数的计算

登录后查看更多精彩内容~ 您需要 登录 才可以下载或查看,没有帐号?立即注册 x 本帖最后由 静言_GRMC 于 2018-5-25 13:07 编辑 平时工作中要用到好多统计查询功能,一直用sql比较顺手,最近需要做相关系数方面的统计,发现除了Oracle自带了函数外,ms sql和mysql都没有自带计…

【SQL数据库基础05-2】常见约束与标识列

文章目录 常见约束01 基本概念1.1 含义&#xff1a;1.2 分类&#xff1a;六大约束1.3 添加约束的时机&#xff1a;1.4 约束的添加分类&#xff1a;1.5 主键和唯一的大对比&#xff1a;1.6 外键&#xff1a; 02 具体讲解2.1 创建表时添加约束1.添加列级约束2.添加表级约束 2.2 修…

关系数据库标准语言SQL视图模块

目录 一. 视图的特点 二. 基于视图的操作 2.1 建立视图 1&#xff09;行列子集视图举例&#xff1a; 2&#xff09;基于多个基表的视图&#xff1a; 3&#xff09;基于视图的视图&#xff1a; 4&#xff09;带表达式的视图&#xff1a; 5&#xff09;建立分组视图&am…

Oracle的视图,索引,约束,事务,数据库范式

&#x1f345;程序员小王的博客&#xff1a;程序员小王的博客 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; &#x1f345; 如有编辑错误联系作者&#xff0c;如果有比较好的文章欢迎分享给我&#xff0c;我会取其精华去其糟粕 &#x1f345;java自学的学习…

(数据库系统概论|王珊)第三章关系数据库标准语言SQL-第一节:SQL概述

pdf下载&#xff1a;密码7281专栏目录首页&#xff1a;【专栏必读】&#xff08;考研复试&#xff09;数据库系统概论第五版&#xff08;王珊&#xff09;专栏学习笔记目录导航及课后习题答案详解 文章目录 一&#xff1a;SQL的产生与发展二&#xff1a;SQL特点&#xff08;1&a…

第三章 关系数据库标准语言 SQL

第三章 关系数据库标准语言 SQL 文章目录 第三章 关系数据库标准语言 SQL3.1 SQL 概述3.1.1 SQL 的特点 3.2 学生-课程数据库3.3 数据定义3.3.2 基本表的创建、删除与修改1. 基本表的创建2. 数据类型3. 插入数据4. 修改数据&#xff08;1&#xff09; 修改某一个元组的值(2) 修…

(九)密度聚类、层次聚类和轮廓系数[机器学习代码实现]

机器学习课程总结&#xff0c;本系列文章以代码和注释为主。 理论部分搬至博客上比较耗费时间&#xff0c;所以缺少理论部分。但是也欢迎大家一起探讨学习。 如果需要理论部分的讲义&#xff0c;可私信&#xff08;个人觉的讲的很好很全&#xff09;。 文章目录 问题需…