<strike id="ca4is"><em id="ca4is"></em></strike>
  • <sup id="ca4is"></sup>
    • <s id="ca4is"><em id="ca4is"></em></s>
      <option id="ca4is"><cite id="ca4is"></cite></option>
    • 二維碼
      企資網

      掃一掃關注

      當前位置: 首頁 » 企資快報 » 服務 » 正文

      你沒有見過的 7種 for 循環優化,超好用

      放大字體  縮小字體 發布日期:2021-08-26 02:59:30    作者:媒體小英    瀏覽次數:15
      導讀

      來源:blog.csdn.net/csdn_aiyang/article/details/75162134我們都經常使用一些循環耗時計算的操作,特別是for循環,她是一種重復計算的操作,如果處理不好,耗時就比較大,如果處理書寫得當將大大提高效率,下面總

      來源:blog.csdn.net/csdn_aiyang/article/details/75162134

      我們都經常使用一些循環耗時計算的操作,特別是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()

      優化1:數組長度提取出來

      int m = list.size();for (int i = 0; i < m; i++) {      System.out.println(list.get(i));}
    • 優點:不必每次都計算
    • 缺點:
    • m的作用域不夠小,違反了最小作用域原則;
    • 不能在for循環中操作list的大小,比如除去或新加一個元素。

      優化2:數組長度提取出來

      for (int i = 0, n = list.size(); i < n; i++) {    System.out.println(list.get(i));}
    • 優點:不必每次都計算 ,變量的作用域遵循最小范圍原則。
    • 缺點:

    • 不能在for循環中操作list的大小,比如除去或新加一個元素。

      優化3:采用倒序的寫法

      for (int i = list.size() - 1; i >= 0; i--) {System.out.println(list.get(i));}
    • 優點:不必每次都計算 ,變量的作用域遵循最小范圍原則。
    • 缺點:
    • 結果的順序會反;
    • 看起來不習慣,不易讀懂。
    • 適用場合:與顯示結果順序無關的地方:比如保存之前數據的校驗。

      遍歷

      for (Iterator<String> it = list.iterator(); it.hasNext();) {      System.out.println(it.next());}
    • 優點:簡潔。

      優化4:優化遍歷

      for (Object o : list) {     System.out.println(o);}
    • 優點:簡潔、結合泛型使用更簡潔。
    • 缺點:jdk1.4向下不兼容。

      優化5:循環嵌套外小內大原則

      for (int i = 0; i < 10; i++) {   for (int j = 0; j < 10000; j++) {   }}

      原因:嵌套循環應該遵循“外小內大”的原則,這就好比你復制很多個小文件和復制幾個大文件的區別,復制很多小文件速度是很慢的,而復制幾個大文件速度則快很多。

      優化6:循環嵌套提取不需要循環的邏輯

      //前: 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;  }

      優化7:異常處理寫在循環外面

      反例

      for (int i = 0; i < 10; i++) {     try {      } catch (Exception e) {      }}

      正例

      try {   for (int i = 0; i < 10; i++) {   }} catch (Exception e) { }
    •  
      (文/媒體小英)
      免責聲明
      本文僅代表作發布者:媒體小英個人觀點,本站未對其內容進行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內容,一經發現,立即刪除,需自行承擔相應責任。涉及到版權或其他問題,請及時聯系我們刪除處理郵件:weilaitui@qq.com。
       

      Copyright ? 2016 - 2025 - 企資網 48903.COM All Rights Reserved 粵公網安備 44030702000589號

      粵ICP備16078936號

      微信

      關注
      微信

      微信二維碼

      WAP二維碼

      客服

      聯系
      客服

      聯系客服:

      在線QQ: 303377504

      客服電話: 020-82301567

      E_mail郵箱: weilaitui@qq.com

      微信公眾號: weishitui

      客服001 客服002 客服003

      工作時間:

      周一至周五: 09:00 - 18:00

      反饋

      用戶
      反饋

      午夜久久久久久网站,99久久www免费,欧美日本日韩aⅴ在线视频,东京干手机福利视频
        <strike id="ca4is"><em id="ca4is"></em></strike>
      • <sup id="ca4is"></sup>
        • <s id="ca4is"><em id="ca4is"></em></s>
          <option id="ca4is"><cite id="ca4is"></cite></option>
        • 主站蜘蛛池模板: 国产精品看高国产精品不卡| 欧美jizzhd精品欧美| 好吊妞998视频免费观看在线| 又大又湿又紧又爽a视频| 中文字字幕在线高清免费电影| 色婷婷综合久久久久中文一区二区| 日本黄线在线播放免费观看| 永久黄色免费网站| 在线视频1卡二卡三卡| 人妻精品久久久久中文字幕| baby直播看片下载| 洗澡与老太风流69小说| 国内自拍青青草| 亚洲成av人片在线观看天堂无码| 色老板在线视频一区二区| 欧美14videosex性欧美成人| 国产最新在线视频| 久久精品a亚洲国产v高清不卡| 被夫上司强迫的女人在线中文| 无码国模国产在线观看| 另类国产ts人妖系列| 一个人看的www免费高清中文字幕| 福利视频一区二区牛牛| 天天狠天天透天干天天怕∴| 亚洲精品国产啊女成拍色拍| 777xxxxx欧美| 最近中文字幕在线mv视频在线 | 国产精品国产三级国产av剧情| 亚洲免费人成在线视频观看| 国产在线视频你懂的| 日本xxxxxxx69xx| 医生系列小说合集| AAAA级少妇高潮大片在线观看| 欧美色欧美亚洲高清在线观看| 国产白浆视频在线播放| 久久伊人精品青青草原高清| 精品无码AV一区二区三区不卡| 天天摸天天看天天做天天爽| 亚洲国产精品久久久久秋霞小 | 天天躁夜夜踩狠狠踩2022| 亚洲欧美一区二区三区|