精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

    瀏覽量

    15957
  • for
    for
    +關注

    關注

    0

    文章

    44

    瀏覽量

    15797

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

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

收藏 人收藏

    評論

    相關推薦

    循環神經網絡的優化技巧

    循環神經網絡(Recurrent Neural Networks,簡稱RNN)是一種用于處理序列數據的深度學習模型,它能夠捕捉時間序列中的動態特征。然而,RNN在訓練過程中可能會遇到梯度消失或梯度
    的頭像 發表于 11-15 09:51 ?125次閱讀

    PGA309溫漂是否可以通過設置參數軟件方式優化,如何優化

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

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

    多級放大電路是電子電路中常見的一種電路結構,它由多個放大器級聯而成,以實現對信號的多級放大。耦合方式是多級放大電路中的關鍵技術之一,它決定了信號在各個放大器之間如何傳遞。本文將介紹多級放大電路常見
    的頭像 發表于 08-07 10:10 ?646次閱讀

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

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

    電機的冷卻方式有哪些

    的冷卻方式,包括常見的冷卻方式、冷卻方式的選擇依據、以及冷卻系統的設計和優化等,以期為電機的設計、制造和運行提供有益的參考。
    的頭像 發表于 06-14 11:46 ?1623次閱讀

    感應電機的常見啟動方式

    感應電機,作為現代工業領域中廣泛應用的電力驅動設備,其啟動方式的選擇直接影響到電機的運行性能、使用壽命以及整個系統的穩定性和效率。因此,了解和掌握感應電機的常見啟動方式對于工程師和技術人員來說
    的頭像 發表于 06-05 15:19 ?938次閱讀

    綜合網線常見接線方式和步驟

    綜合網線的接線方式主要根據具體的應用場景和網絡設備類型來確定。以下是一些常見的接線方式和步驟: 直通網線接線: 直通網線是最常見的網線類型,用于連接不同類型的設備,如PC到交換機或路由
    的頭像 發表于 05-10 10:52 ?830次閱讀

    電子束光刻的參數優化常見問題介紹

    本文從光刻圖案設計、特征尺寸、電鏡參數優化等方面介紹電子束光刻的參數優化,最后介紹了一些常見問題。
    的頭像 發表于 03-17 14:33 ?960次閱讀
    電子束光刻的參數<b class='flag-5'>優化</b>及<b class='flag-5'>常見</b>問題介紹

    arduino中while循環怎么跳出

    優化。 一、什么是 Arduino while 循環 1.1 while 循環的基本語法 在 Arduino 中,
    的頭像 發表于 02-14 16:22 ?2393次閱讀

    循環指令loop規定循環次數

    循環指令是計算機編程中非常重要的概念,它允許程序重復執行一段代碼塊,使得程序可以更有效地處理大量數據和重復性任務。在本文中,我們將詳盡、詳實、細致地介紹循環指令的相關概念、語法和應用場
    的頭像 發表于 02-14 16:10 ?1489次閱讀

    硅的形態與沉積方式

    優化硅的形態與沉積方式是半導體和MEMS工藝的關鍵,LPCVD和APCVD為常見的硅沉積技術。
    的頭像 發表于 01-22 09:32 ?2624次閱讀
    硅的形態與沉積<b class='flag-5'>方式</b>

    無功補償的原理、作用及常見方式

    無功補償的原理、作用及常見方式? 無功補償是電力系統中的一項重要技術措施,用于改善電力質量和提高能源利用效率。本文將詳細介紹無功補償的原理、作用以及常見的補償方式。 一、無功補償的原理 無功功率
    的頭像 發表于 01-19 14:19 ?8294次閱讀

    常見的直流負載工作方式

    常見的直流負載工作方式? 直流負載工作方式是指在直流電路中使用的各種負載方式。直流負載是用于測試和測量直流電源輸出能力和能效的設備,可以模擬真實負載條件下的電流和功率需求。本文將詳細
    的頭像 發表于 01-18 15:12 ?703次閱讀

    labview精確控制循環時間

    實用的技巧和建議。 在LabVIEW中,控制循環的時間主要由以下幾個因素決定: 硬件延遲:硬件的響應速度和延遲會對控制循環的實時性產生影響。例如,傳感器采集數據的速度、電機的響應速度等。為了減少硬件延遲,可以選擇適用的硬件設備以及優化
    的頭像 發表于 01-04 16:34 ?2724次閱讀

    使用相序識別儀時,常見故障原因以及處理方式概述

    使用相序識別儀時,常見故障原因以及處理方式概述? 相序識別儀(Phase Sequence Relay)是一種用于工業和家庭電氣系統中的設備,主要用于檢測和糾正電源的相序錯誤。然而,相序識別儀也
    的頭像 發表于 12-19 15:04 ?1316次閱讀