0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

几条for循环的常见优化方式

5jek_harmonyos 来源:CSDN博客 作者:艾阳Blog 2021-08-20 09:36 次阅读

前言我们都经常使用一些循环耗时计算的操作,特别是for循环,它是一种重复计算的操作,如果处理不好,耗时就比较大,如果处理书写得当将大大提高效率,下面总结几条for循环的常见优化方式。

首先,我们初始化一个集合 list,如下:

List《String》 list = new ArrayList《String》();

方法一:最常规的不加思考的写法

for (int i = 0; i 《 list.size(); i++) {

System.out.println(list.get(i));

}

优点:较常见,易于理解

缺点:每次都要计算list.size()

方法二:数组长度提取出来

int m = list.size();

for (int i = 0; i 《 m; i++) {

System.out.println(list.get(i));

}

优点:不必每次都计算

缺点:

m的作用域不够小,违反了最小作用域原则

不能在for循环中操作list的大小,比如除去或新加一个元素

方法三:数组长度提取出来

for (int i = 0, n = list.size(); i 《 n; i++) {

System.out.println(list.get(i));

}

优点:不必每次都计算 ,变量的作用域遵循最小范围原则

缺点:

m的作用域不够小,违反了最小作用域原则

不能在for循环中操作list的大小,比如除去或新加一个元素

方法四:采用倒序的写法

for (int i = list.size() - 1; i 》= 0; i--) {

System.out.println(list.get(i));

}

优点:不必每次都计算 ,变量的作用域遵循最小范围原则

缺点:1、结果的顺序会反 2、看起来不习惯,不易读懂

适用场合:与显示结果顺序无关的地方:比如保存之前数据的校验

方法五:Iterator 遍历

for (Iterator《String》 it = list.iterator(); it.hasNext();) {

System.out.println(it.next());

}

优点:简洁

方法六:jdk1.5后的写法

for (Object o : list) {

System.out.println(o);

}

优点:简洁结合泛型使用更简洁

缺点:jdk1.4向下不兼容

方法七:循环嵌套外小内大原则

for (int i = 0; i 《 10; i++) {

for (int j = 0; j 《 10000; j++) {

}

}

原因

792cdd24-013c-11ec-9bcf-12bb97331649.png

方法八:循环嵌套提取不需要循环的逻辑

//前:

int a = 10, b = 11;

for (int i = 0; i 《 10; i++) {

i = i * a * b;

}

//后:

int c = a * b;

for (int i = 0; i 《 10; i++) {

i = i * c;

}

方法九:异常处理写在循环外面

反例

for (int i = 0; i 《 10; i++) {

try {

} catch (Exception e) {

}

}

正例

try {

for (int i = 0; i 《 10; i++) {

}

} catch (Exception e) {

}

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 循环
    +关注

    关注

    0

    文章

    92

    浏览量

    15952
  • for
    for
    +关注

    关注

    0

    文章

    44

    浏览量

    15794

原文标题:你真的会写for循环吗?来看看这些常见的for循环优化方式

文章出处:【微信号:harmonyos_developer,微信公众号:harmonyos_developer】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    循环神经网络的优化技巧

    循环神经网络(Recurrent Neural Networks,简称RNN)是一种用于处理序列数据的深度学习模型,它能够捕捉时间序列中的动态特征。然而,RNN在训练过程中可能会遇到梯度消失或梯度
    的头像 发表于 11-15 09:51 108次阅读

    PGA309温漂是否可以通过设置参数软件方式优化,如何优化

    1.PGA309温漂是否可以通过设置参数软件方式优化,如何优化? 2.针对可编程放大器,是否有数字输出的PGA系列产品?
    发表于 08-09 07:04

    多级放大电路常见的耦合方式有哪些

    多级放大电路是电子电路中常见的一种电路结构,它由多个放大器级联而成,以实现对信号的多级放大。耦合方式是多级放大电路中的关键技术之一,它决定了信号在各个放大器之间如何传递。本文将介绍多级放大电路常见
    的头像 发表于 08-07 10:10 630次阅读

    常见的传感器接线方式有哪些

    信息的传输、处理、存储、显示、记录和控制等要求。常见的传感器接线方式主要包括两线制、三线制和四线制,每种方式都有其特定的应用场景和接线规则。
    的头像 发表于 07-30 11:50 979次阅读

    电机的冷却方式有哪些

    的冷却方式,包括常见的冷却方式、冷却方式的选择依据、以及冷却系统的设计和优化等,以期为电机的设计、制造和运行提供有益的参考。
    的头像 发表于 06-14 11:46 1610次阅读

    感应电机的常见启动方式

    感应电机,作为现代工业领域中广泛应用的电力驱动设备,其启动方式的选择直接影响到电机的运行性能、使用寿命以及整个系统的稳定性和效率。因此,了解和掌握感应电机的常见启动方式对于工程师和技术人员来说
    的头像 发表于 06-05 15:19 914次阅读

    电子束光刻的参数优化常见问题介绍

    本文从光刻图案设计、特征尺寸、电镜参数优化等方面介绍电子束光刻的参数优化,最后介绍了一些常见问题。
    的头像 发表于 03-17 14:33 955次阅读
    电子束光刻的参数<b class='flag-5'>优化</b>及<b class='flag-5'>常见</b>问题介绍

    arduino中while循环怎么跳出

    优化。 一、什么是 Arduino while 循环 1.1 while 循环的基本语法 在 Arduino 中,
    的头像 发表于 02-14 16:22 2382次阅读

    循环指令loop规定循环次数

    循环指令是计算机编程中非常重要的概念,它允许程序重复执行一段代码块,使得程序可以更有效地处理大量数据和重复性任务。在本文中,我们将详尽、详实、细致地介绍循环指令的相关概念、语法和应用场
    的头像 发表于 02-14 16:10 1458次阅读

    硅的形态与沉积方式

    优化硅的形态与沉积方式是半导体和MEMS工艺的关键,LPCVD和APCVD为常见的硅沉积技术。
    的头像 发表于 01-22 09:32 2584次阅读
    硅的形态与沉积<b class='flag-5'>方式</b>

    无功补偿的原理、作用及常见方式

    无功补偿的原理、作用及常见方式  无功补偿是电力系统中的一项重要技术措施,用于改善电力质量和提高能源利用效率。本文将详细介绍无功补偿的原理、作用以及常见的补偿方式。 一、无功补偿的原理 无功功率
    的头像 发表于 01-19 14:19 8204次阅读

    常见的直流负载工作方式

    常见的直流负载工作方式  直流负载工作方式是指在直流电路中使用的各种负载方式。直流负载是用于测试和测量直流电源输出能力和能效的设备,可以模拟真实负载条件下的电流和功率需求。本文将详细
    的头像 发表于 01-18 15:12 685次阅读

    labview精确控制循环时间

    实用的技巧和建议。 在LabVIEW中,控制循环的时间主要由以下几个因素决定: 硬件延迟:硬件的响应速度和延迟会对控制循环的实时性产生影响。例如,传感器采集数据的速度、电机的响应速度等。为了减少硬件延迟,可以选择适用的硬件设备以及优化
    的头像 发表于 01-04 16:34 2708次阅读

    使用相序识别仪时,常见故障原因以及处理方式概述

    使用相序识别仪时,常见故障原因以及处理方式概述  相序识别仪(Phase Sequence Relay)是一种用于工业和家庭电气系统中的设备,主要用于检测和纠正电源的相序错误。然而,相序识别仪也
    的头像 发表于 12-19 15:04 1302次阅读

    python循环创建变量并赋值

    循环是Python编程中非常重要的一个概念,它可以让我们轻松地重复执行某些代码块,从而简化编程过程并提高代码的效率。在循环中,我们经常需要创建变量并赋值,这是非常常见的操作。接下来,我将详尽地解释在
    的头像 发表于 11-23 14:51 1609次阅读