国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

    瀏覽量

    16659
  • for
    for
    +關注

    關注

    0

    文章

    44

    瀏覽量

    16284

原文標題:你真的會寫for循環嗎?來看看這些常見的for循環優化方式

文章出處:【微信號:harmonyos_developer,微信公眾號:harmonyos_developer】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    功率循環基礎篇(二) —— 功率循環壽命曲線解讀

    功率循環壽命曲線是評估功率半導體器件(如 ?IGBT?模塊)在溫度交變應力下長期可靠性的核心工具。該曲線通常以 結溫波動幅度?ΔTj 為橫坐標,以器件達到指定失效判據前所經歷的 循環次數?Nf 為
    的頭像 發表于 03-02 11:55 ?59次閱讀
    功率<b class='flag-5'>循環</b>基礎篇(二) —— 功率<b class='flag-5'>循環</b>壽命曲線解讀

    單片機大神的程序優化流程

    據存儲器在不同的模塊中可以重復利用。 9、設定合適的編譯程序選項 許多編譯程序有幾種不同的優化選項,在使用前應理解各優化選項的含義,然后選用最合適的一種優化方式。通常情況下一旦選用最
    發表于 12-25 07:38

    一文看懂AI大模型的并行訓練方式(DP、PP、TP、EP)

    大家都知道,AI計算(尤其是模型訓練和推理),主要以并行計算為主。AI計算中涉及到的很多具體算法(例如矩陣相乘、卷積、循環層、梯度運算等),都需要基于成千上萬的GPU,以并行任務的方式去完成。這樣
    的頭像 發表于 11-28 08:33 ?1850次閱讀
    一文看懂AI大模型的并行訓練<b class='flag-5'>方式</b>(DP、PP、TP、EP)

    請問Keil的優化等級到底該如何選擇?

    內聯(對小型函數)。 循環優化(如循環展開的有限形式)。 更積極的寄存器分配(變量可能不再駐留在內存中)。 公共子表達式消除。 強度削弱等。 -O3 (最高速度優化 / Optimi
    發表于 11-20 07:51

    循環發動機高工況適應性變幾何分流環設計:前緣/壁面型線影響規律與優化策略

    雙變循環發動機作為一種創新的航空動力系統,其核心特征在于采用三涵道變循環氣動熱力布局,通過精巧調節多個變幾何部件,實現在不同飛行狀態下的性能最優化。這種發動機的流道結構相比傳統渦扇發動機更為復雜,增加了第三涵道和一系列可調機構,
    的頭像 發表于 11-19 15:05 ?607次閱讀
    變<b class='flag-5'>循環</b>發動機高工況適應性變幾何分流環設計:前緣/壁面型線影響規律與<b class='flag-5'>優化</b>策略

    人工智能行業如何使用for循環語句進行循環

    人工智能行業可以使用以下是關于for循環在不同編程語言中的基本用法說明: Python中的for循環: 主要用于遍歷序列(列表、元組、字符串等) 典型結構:for item in sequence
    的頭像 發表于 09-10 12:55 ?566次閱讀

    常見的物聯網連接方式有哪些?

    常見的物聯網連接方式
    發表于 09-08 08:26

    常見的變壓器接線組別的連接方式

    在電力系統中,變壓器起著變換電壓、傳輸電能的作用。而其繞組方式對于供電系統的運行穩定性和安全性具有重要意義。常見的變壓器繞組有YNyn0、Dyn11、Y/△、YNd11等,下面將對這些繞組進行詳細解析。
    的頭像 發表于 09-03 14:07 ?3489次閱讀

    基礎篇3:掌握Python中的條件語句與循環

    通過學習條件語句和循環,您能夠編寫出能夠根據不同情況和條件作出決策的Python程序。這些結構在編程中非常常見,對于提高編程能力和構建復雜程序至關重要。在接下來的學習和實踐中,不斷練習這些概念,您將能夠更自如地運用它們來解決實際問題。
    發表于 07-03 16:13

    鴻蒙5開發寶藏案例分享---優化應用時延問題

    ** 問題 :5000條賬目查詢慢(157ms)優化循環外獲取列索引 // 優化前(循環內重復調用) for(let i=0; i<5000; i++
    發表于 06-13 10:08

    一個串口上位機,采用生產消費結構,但是消費循環運行跟不上生產循環,到時最終輸出支持不了高頻率傳輸。如何優化

    ,消費者采運行了395次。而且從時間上來講,生產者平均運行時間還更長。為什么消費者反而運行次數更少,是因為labview將資源更多分配給運行時間長的循環嗎。要優化的話,我應該優化生產者還是消費者。
    發表于 06-11 09:26

    HarmonyOS優化應用內存占用問題性能優化

    可以避免圖片過大或過小導致的顯示問題,并提高應用程序的用戶體驗。 二、多種****方法 在日常開發中,常見的其他減少內存方式有如下幾種: 使用虛引用(Weak Reference):在HarmonyOS
    發表于 05-21 11:27

    電子元器件的分類方式

    電子元器件可以按照不同的分類標準進行分類,以下是一些常見的分類方式
    的頭像 發表于 04-16 14:52 ?2966次閱讀

    如何用幾條命令搞定Ubuntu系統的網絡配置

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

    常見網絡負載均衡的幾種方式

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