Java中for循环效率比较

先说结论:

对于遍历一个1千万条数据的arrayList,fori循环最快,iterator其次,foreach再其次,forStream最慢。

在这里插入图片描述

测试代码

public class ForSpeedTest {//    private static final long FOR_COUNT = 10000_0000;private static final long FOR_COUNT = 1000_0000;
//    private static final long FOR_COUNT = 100_0000;
//    private static final long FOR_COUNT = 10_0000;
//    private static final long FOR_COUNT = 1_0000;
//    private static final long FOR_COUNT = 100;private static List<String> arrayList = new ArrayList<>();static {//数据准备for (int i = 0; i < FOR_COUNT; i++) {arrayList.add("abc" + i);}  }public static void main(String[] args) throws Exception{Thread.sleep(1000);StopWatch stopWatch = new StopWatch();stopWatch.start("forI");forI();stopWatch.stop();stopWatch.start("forEach");forEeach();stopWatch.stop();stopWatch.start("forStream");forStream();stopWatch.stop();stopWatch.start("forI2");forI2();stopWatch.stop();stopWatch.start("iterator");forIterator();stopWatch.stop();System.out.println(stopWatch.prettyPrint());}private static void forI() {long size = arrayList.size();for (int i = 0; i < size; i++) {}}private static void forEeach() {for (String s : arrayList) {}}private static void forStream() {arrayList.forEach(x -> {});}private static void forI2() {for (int i = 0; i < arrayList.size(); i++) {}}private static void forIterator() {Iterator<String> iterator = arrayList.iterator();while(iterator.hasNext()){iterator.next();}}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2810115.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

wpf 简单实验 数据更新 列表更新

1.概要 1.1 需求 一个列表提供添加修改删除的功能&#xff0c;添加和修改的内容都来自一个输入框 1.2 要点 DisplayMemberPath"Zhi"列表.ItemsSource datalist;(列表.SelectedItem ! null)(列表.SelectedItem as A).Zhi 内容.Text;datalist.Remove((列表.Selec…

Java编程与数据库技术:疫情居家办公的坚实后盾

✍✍计算机毕业编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java、…

canvas坐标系统 webgl坐标系统 uv纹理坐标系统 原点

一、canvas原点在左上角&#xff0c;x轴正方向向右&#xff0c;y轴正方向向下&#xff0c;一个点对应一个像素 二、webgl原点在正中间&#xff0c;x轴正方向向右&#xff0c;y轴正方向向上&#xff0c;数据范围在[-1,1]之间 三、uv原点在左下角&#xff0c;x轴正方向向右&#…

华为OD机试真题-求最多可以派出多少支团队-2023年OD统一考试(C卷)---Python3--开源

题目&#xff1a; 考察内容&#xff1a; if while&#xff1b;break; sort&#xff08;&#xff09;&#xff1b;for 代码&#xff1a; """ analyze: 团队&#xff1a;1-2 1个人只能参加一个团队input: 总人数 int 每个人能力&#xff0c;list 最低能力值 …

离散数学复习笔记

一、数理逻辑 命题逻辑的基本概念 命题&#xff1a;能够判断真假的陈述句&#xff08;命题真值唯一&#xff09; 真值唯一的解释&#xff1a; 原子命题 > 复合命题

matlab simulink变压器温度仿真

1、内容简介 略 48-可以交流、咨询、答疑 2、内容说明 略 3、仿真分析 略 matlab simulink变压器温度仿真_哔哩哔哩_bilibili 4、参考论文 略 大型油浸风冷变压器绕组温度场分析_高原 基于顶层油温的变压器绕组热点温度计算改进模型_陈伟根 基于热电类比理论的油浸式电…

《Docker 简易速速上手小册》第9章 Docker 与持续集成(2024 最新版)

文章目录 9.1 持续集成的基本概念9.1.1 重点基础知识9.1.2 重点案例&#xff1a;Python Web 应用的 CI 流程9.1.3 拓展案例 1&#xff1a;Python 数据分析项目的 CI9.1.4 拓展案例 2&#xff1a;Python 微服务的 CI/CD 9.2 Docker 在 CI/CD 中的应用9.2.1 重点基础知识9.2.2 重…

第三节:Vben Admin登录对接后端login接口

系列文章目录 第一节&#xff1a;Vben Admin介绍和初次运行 第二节&#xff1a;Vben Admin 登录逻辑梳理和对接后端准备 文章目录 系列文章目录前言一、Flask项目介绍二、使用步骤1.User模型创建2.迁移模型3. Token创建4. 编写蓝图5. 注册蓝图 三. 测试登录总结 前言 上一节&…

UE5 C++ Widget练习 Button 和 ProgressBar创建血条

一. 1.C创建一个继承Widget类的子类&#xff0c; 命名为MyUserWidget 2.加上Button 和 UserWidget的头文件 #include "CoreMinimal.h" #include "Components/Button.h" #include "Blueprint/UserWidget.h" #include "MyUserWidget.genera…

kotlin与java的相互转换

Kotlin转java 将kotlin代码反编译成java Tools -> Kotlin -> Show Kotlin Bytecode 然后点击 【Decompile】 生成java代码 java转kotlin Code -> Convert Java File To Kotlin File

pytorch 用F.normalization的逆归一化如何操作

逆归一化的时候再把这个数乘回去就行了 magnitude a.norm(p2, dim1, keepdimTrue) # NEW atorch.nn.functional.normalize(a, p2, dim1) a_or a* magnitude # NEW print(a_or) Outputs: tensor([]1,2,3)

100天精通Python(实用脚本篇)——第117天:基于selenium实现反反爬策略之代码输入账号信息登录网站

文章目录 专栏导读1. 前言2. 实现步骤3. 基础补充4. 代码实战4.1 创建连接4.2 添加请求头伪装浏览器4.3 隐藏浏览器指纹4.4 最大化窗口4.5 启动网页4.6 点击密码登录4.7 输入账号密码4.8 点击登录按钮4.9 完整代码4.10 GIF动图展示 五、总结 专栏导读 &#x1f525;&#x1f5…

出现猫毛过敏后怎么养猫?性价比高的宠物空气净化器推荐

作为一名猫奴&#xff0c;我深知每天撸猫的快乐&#xff0c;但也深知鼻子受不了的痛苦。对于养宠家庭来说&#xff0c;猫咪的毛发无处不在&#xff0c;沙发、地板、衣服都是重灾区&#xff0c;不仅难以清理&#xff0c;而且可能会让呼吸道敏感的朋友过敏。为了解决除猫毛的问题…

迅推客媒体发布平台,让你的新闻轻松登上各大媒体

媒体发布稿件是个人或企业推广自己和产品的重要手段。良好的媒体发布过程可以给企业带来更多的曝光度和知名度&#xff0c;促进销售。然而&#xff0c;如何选择合适的新闻发布平台&#xff0c;如何在各大新闻媒体网站上发布新闻稿&#xff0c;是许多企业面临的问题。今天&#…

卷积神经网络 CNN

目录 卷积网络与传统网络的区别 参数共享 卷积神经网络整体架构 卷积操作的作用 卷积核的定义 卷积特征值计算方法 卷积层涉及的参数 边缘填充 ​编辑 卷积结果计算 池化层 整体网格架构 VGG网络架构 残差网络Resnet 卷积网络与传统网络的区别 卷积神经网络&#x…

免费分享一套SpringBoot+Vue实验室(预约)管理系统,帅呆了~~

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的SpringBootVue实验室(预约)管理系统 &#xff0c;分享下哈。 项目视频演示 【免费】SpringBootVue实验室(预约)管理系统 Java毕业设计_哔哩哔哩_bilibili【免费】SpringBootVue实验室(预约)管理系统 Java毕…

2024年青海省考公告已出,速速查收报名详细流程,千万不要错过报名时间哦

2024年青海公务员考试公告职位表已经发布&#xff0c;报名时间2月26日9:00至3月1日18:00&#xff0c; 以下是本次考试的重要时间安排&#xff1a; 报名时间&#xff1a;2024年2月26日9:00至3月1日18:00 缴费时间&#xff1a;2024年2月26日9:00至3月4日23:30 报名调剂时间&a…

【嵌入式——QT】SpinBox

QSpinBox用于整数的显示和输入&#xff0c;一般显示十进制数&#xff0c;也可以显示二进制、十六进制数&#xff0c;而且可以在显示框中增加前缀和后缀。QDoubleSpinBox用于浮点数的显示和输入&#xff0c;可以设置显示小数位数&#xff0c;也可以设置显示的前缀和后缀。 样式…

ZTE E8820V2重启偶现5G wifi丢失问题

使用ZTE E8820V2设备时,发现设备在多次重启过程中会出现5G wifi信号丢失的情况。 1. 现象日志 使用老毛子固件,具体丢失时会出现相关log: 2. 问题原因: GPIO#19 是 PCIE reset 外,GPIO#26 也要 reset。 3. 解决方法: E8820V2/rt-n56u/trunk$ git diff linux-3.4.x…

Spring的另一大的特征:AOP

目录 AOP &#xff08;Aspect Oriented Programming&#xff09;AOP 入门案例&#xff08;注解版&#xff09;AOP 工作流程——代理AOP切入点表达式AOP 通知类型AOP通知获取数据获取切入点方法的参数获取切入点方法返回值获取切入点方法运行异常信息 百度网盘分享链接输入密码数…