99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

幾條for循環(huán)的常見優(yōu)化方式

5jek_harmonyos ? 來源:CSDN博客 ? 作者:艾陽Blog ? 2021-08-20 09:36 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言我們都經(jīng)常使用一些循環(huán)耗時計算的操作,特別是for循環(huán),它是一種重復計算的操作,如果處理不好,耗時就比較大,如果處理書寫得當將大大提高效率,下面總結(jié)幾條for循環(huán)的常見優(yōu)化方式。

首先,我們初始化一個集合 list,如下:

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

方法一:最常規(guī)的不加思考的寫法

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

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

}

優(yōu)點:較常見,易于理解

缺點:每次都要計算list.size()

方法二:數(shù)組長度提取出來

int m = list.size();

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

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

}

優(yōu)點:不必每次都計算

缺點:

m的作用域不夠小,違反了最小作用域原則

不能在for循環(huán)中操作list的大小,比如除去或新加一個元素

方法三:數(shù)組長度提取出來

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

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

}

優(yōu)點:不必每次都計算 ,變量的作用域遵循最小范圍原則

缺點:

m的作用域不夠小,違反了最小作用域原則

不能在for循環(huán)中操作list的大小,比如除去或新加一個元素

方法四:采用倒序的寫法

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

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

}

優(yōu)點:不必每次都計算 ,變量的作用域遵循最小范圍原則

缺點:1、結(jié)果的順序會反 2、看起來不習慣,不易讀懂

適用場合:與顯示結(jié)果順序無關(guān)的地方:比如保存之前數(shù)據(jù)的校驗

方法五:Iterator 遍歷

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

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

}

優(yōu)點:簡潔

方法六:jdk1.5后的寫法

for (Object o : list) {

System.out.println(o);

}

優(yōu)點:簡潔結(jié)合泛型使用更簡潔

缺點:jdk1.4向下不兼容

方法七:循環(huán)嵌套外小內(nèi)大原則

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

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

}

}

原因

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

方法八:循環(huán)嵌套提取不需要循環(huán)的邏輯

//前:

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;

}

方法九:異常處理寫在循環(huán)外面

反例

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

try {

} catch (Exception e) {

}

}

正例

try {

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

}

} catch (Exception e) {

}

責任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 循環(huán)
    +關(guān)注

    關(guān)注

    0

    文章

    92

    瀏覽量

    16337
  • for
    for
    +關(guān)注

    關(guān)注

    0

    文章

    44

    瀏覽量

    16088

原文標題:你真的會寫for循環(huán)嗎?來看看這些常見的for循環(huán)優(yōu)化方式

文章出處:【微信號:harmonyos_developer,微信公眾號:harmonyos_developer】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    一個串口上位機,采用生產(chǎn)消費結(jié)構(gòu),但是消費循環(huán)運行跟不上生產(chǎn)循環(huán),到時最終輸出支持不了高頻率傳輸。如何優(yōu)化

    ,消費者采運行了395次。而且從時間上來講,生產(chǎn)者平均運行時間還更長。為什么消費者反而運行次數(shù)更少,是因為labview將資源更多分配給運行時間長的循環(huán)嗎。要優(yōu)化的話,我應(yīng)該優(yōu)化生產(chǎn)者還是消費者。
    發(fā)表于 06-11 09:26

    如何用幾條命令搞定Ubuntu系統(tǒng)的網(wǎng)絡(luò)配置

    在某些場景下,設(shè)備沒有顯示器或屏可以用,這時候通過命令行來設(shè)置網(wǎng)絡(luò)就變得特別重要了。本文將介紹如何用幾條命令搞定Ubuntu系統(tǒng)的網(wǎng)絡(luò)配置。
    的頭像 發(fā)表于 03-14 10:53 ?2225次閱讀
    如何用<b class='flag-5'>幾條</b>命令搞定Ubuntu系統(tǒng)的網(wǎng)絡(luò)配置

    常見網(wǎng)絡(luò)負載均衡的幾種方式

    常見網(wǎng)絡(luò)負載均衡的幾種方式包括:DNS負載均衡、反向代理負載均衡、IP負載均衡、應(yīng)用層負載均衡、鏈路層負載均衡。以下是小編對幾種常見的網(wǎng)絡(luò)負載均衡方式及其詳細展開介紹。
    的頭像 發(fā)表于 03-06 11:14 ?543次閱讀

    嵌入式系統(tǒng)中的代碼優(yōu)化與壓縮技術(shù)

    與續(xù)航能力。 二、代碼優(yōu)化策略 算法優(yōu)化:這是最基礎(chǔ)且有效的優(yōu)化方式。在圖像處理的嵌入式應(yīng)用中,傳統(tǒng)算法可能需要大量的計算資源和時間。采用更高效的邊緣檢測算法,如Canny算法的
    發(fā)表于 02-26 15:00

    可靠性溫度循環(huán)試驗至少需要幾個循環(huán)

    溫度循環(huán)作為自然環(huán)境的模擬,可以考核產(chǎn)品在不同環(huán)境條件下的適應(yīng)能力,常用于產(chǎn)品在開發(fā)階段的型式試驗、元器件的篩選試驗。一、溫度循環(huán)測試介紹溫度循環(huán)試驗,也稱為熱循環(huán)試驗、高低溫
    的頭像 發(fā)表于 01-23 15:26 ?575次閱讀
    可靠性溫度<b class='flag-5'>循環(huán)</b>試驗至少需要幾個<b class='flag-5'>循環(huán)</b>?

    電源 PCB 布局中的常見錯誤及避免方式

    的異?,F(xiàn)象、根本原因以及優(yōu)化布局的方法和相關(guān)技巧。 1. 常見錯誤一:功率器件散熱不良 異常現(xiàn)象 功率器件溫度過高,可能導致器件性能下降,甚至損壞。例如,MOSFET 的導通電阻會隨溫度升高而增大,進一步增加功耗,形成惡性循環(huán)。
    的頭像 發(fā)表于 01-08 15:28 ?1173次閱讀

    深入理解C語言:循環(huán)語句的應(yīng)用與優(yōu)化技巧

    能讓你的代碼更加簡潔明了,還能顯著提升程序執(zhí)行效率。本文將詳細介紹C語言中的三種常見循環(huán)結(jié)構(gòu)——while循環(huán)、for循環(huán)和do...while循環(huán)
    的頭像 發(fā)表于 12-07 01:11 ?639次閱讀
    深入理解C語言:<b class='flag-5'>循環(huán)</b>語句的應(yīng)用與<b class='flag-5'>優(yōu)化</b>技巧

    串聯(lián)電容的常見應(yīng)用 如何優(yōu)化串聯(lián)電路的效率

    串聯(lián)電容的常見應(yīng)用 串聯(lián)電容是一種常見的電路元件連接方式,其在家居、工業(yè)及電力系統(tǒng)等多個領(lǐng)域有著廣泛的應(yīng)用。以下是串聯(lián)電容的一些常見應(yīng)用: 電力系統(tǒng)中的無功補償 : 在電力系統(tǒng)中,感性
    的頭像 發(fā)表于 12-02 16:35 ?4124次閱讀

    示波器接口和連接方式 示波器的常見故障及解決方法

    示波器接口和連接方式 示波器是一種用于觀察和分析電信號波形的電子測量儀器。它通過接口和連接方式與被測設(shè)備相連,以獲取信號并顯示在屏幕上。以下是一些常見的示波器接口和連接方式: 1. B
    的頭像 發(fā)表于 11-28 09:38 ?3353次閱讀

    循環(huán)神經(jīng)網(wǎng)絡(luò)的優(yōu)化技巧

    循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Networks,簡稱RNN)是一種用于處理序列數(shù)據(jù)的深度學習模型,它能夠捕捉時間序列中的動態(tài)特征。然而,RNN在訓練過程中可能會遇到梯度消失或梯度
    的頭像 發(fā)表于 11-15 09:51 ?767次閱讀

    常見人體姿態(tài)評估顯示方式的兩種方式

    人體姿態(tài)評估中有兩種常見的顯示方式,分別是火柴人效果與BodyPix效果。其中火柴人效果本質(zhì)就是基于關(guān)鍵點的深度學習模型推理以后的顯示效果;Bodypix本質(zhì)就就是語義分割模型
    的頭像 發(fā)表于 11-11 11:21 ?670次閱讀
    <b class='flag-5'>常見</b>人體姿態(tài)評估顯示<b class='flag-5'>方式</b>的兩種<b class='flag-5'>方式</b>

    嵌入式QT常見開發(fā)方式有哪些?

    嵌入式QT常見開發(fā)方式有哪些? 嵌入式工程師在學習和使用Qt進行開發(fā)時,常見的幾種開發(fā)方式包括: 1.Qt Widgets編程: 通過C++代碼直接編寫GUI應(yīng)用程序,利用QtWi
    發(fā)表于 08-12 10:05

    PGA309溫漂是否可以通過設(shè)置參數(shù)軟件方式優(yōu)化,如何優(yōu)化

    1.PGA309溫漂是否可以通過設(shè)置參數(shù)軟件方式優(yōu)化,如何優(yōu)化? 2.針對可編程放大器,是否有數(shù)字輸出的PGA系列產(chǎn)品?
    發(fā)表于 08-09 07:04

    多級放大電路常見的耦合方式有哪些

    多級放大電路是電子電路中常見的一種電路結(jié)構(gòu),它由多個放大器級聯(lián)而成,以實現(xiàn)對信號的多級放大。耦合方式是多級放大電路中的關(guān)鍵技術(shù)之一,它決定了信號在各個放大器之間如何傳遞。本文將介紹多級放大電路常見
    的頭像 發(fā)表于 08-07 10:10 ?2121次閱讀

    常見的傳感器接線方式有哪些

    信息的傳輸、處理、存儲、顯示、記錄和控制等要求。常見的傳感器接線方式主要包括兩線制、三線制和四線制,每種方式都有其特定的應(yīng)用場景和接線規(guī)則。
    的頭像 發(fā)表于 07-30 11:50 ?3418次閱讀