<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    作者:媒體小英    瀏覽次數:20
      導讀

      來源: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>
        • 主站蜘蛛池模板: 婷婷综合缴情亚洲狠狠图片| 久久午夜无码鲁丝片秋霞| 亚洲AV无码乱码麻豆精品国产| 91av在线免费视频| 精品国产日韩亚洲一区| 最新国产三级在线观看不卡| 国产精品9999久久久久| 亚洲中文字幕久久精品无码喷水| 99在线精品视频在线观看| 精品视频国产狼友视频| 成人国产精品999视频| 国产在线午夜卡精品影院| 亚洲国产日韩女人aaaaaa毛片在线| 91精品国产综合久久香蕉| 男女下面一进一出视频在线观看| 日本videoshd高清黑人| 四虎免费大片aⅴ入口| 一男n女高h后宫| 美美哒韩国免费高清在线观看| 日韩在线观看完整版电影| 国产精品综合网| 亚洲神级电影国语版| 521色香蕉网站在线观看| 渣男渣女抹胸渣男渣女在一起 | 亚洲综合精品伊人久久| 一a一片一级一片啪啪| 王小明恶魔手机催眠1-6| 国内精品久久久久国产盗摄| 免费国产黄网站在线观看视频 | 偷偷狠狠的日日高清完整视频| 99热99操99射| 欧美亚洲另类热图| 国产精品久久免费视频| 久精品在线观看| 麻豆精品视频入口| 无码熟妇αⅴ人妻又粗又大| 再深点灬舒服灬太大了快点| 99re66热这里只有精品17| 欧美xxxx网站| 国产成人精品福利网站在线 | 暖暖直播在线观看|