激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java for循環常見優化方法案例詳解

Java for循環常見優化方法案例詳解

2021-12-10 13:35Resourceful! Java教程

這篇文章主要介紹了Java for循環常見優化方法案例詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下

前言

我們都經常使用一些循環耗時計算的操作,特別是for循環,它是一種重復計算的操作,如果處理不好,耗時就比較大,如果處理書寫得當將大大提高效率,下面總結幾條for循環的常見優化方式。

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

?
1
List<String> list = new ArrayList<String>();

方法一:最常規的不加思考的寫法

?
1
2
3
for (int i = 0; i < list.size(); i++) {
 System.out.println(list.get(i));
}
  • 優點:較常見,易于理解
  • 缺點:每次都要計算list.size()

方法二:數組長度提取出來

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

方法三:數組長度提取出來

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

方法四:采用倒序的寫法

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

方法五:Iterator 遍歷

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

方法六:jdk1.5后的寫法

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

方法七:循環嵌套外小內大原則

?
1
2
3
4
for (int i = 0; i < 10; i++) {
   for (int j = 0; j < 10000; j++) {
   }
}

原因

Java for循環常見優化方法案例詳解

方法八:循環嵌套提取不需要循環的邏輯

?
1
2
3
4
5
6
7
8
9
10
11
12
//前:
 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;
  }

方法九:異常處理寫在循環外面

反例

?
1
2
3
4
5
6
7
for (int i = 0; i < 10; i++) {
     try {
 
     } catch (Exception e) {
 
     }
}

正例

?
1
2
3
4
5
6
7
8
9
10
try {
   for (int i = 0; i < 10; i++) {
   }
} catch (Exception e) {
 
}
 catch (Exception e) {
 
     }
}

正例

?
1
2
3
4
5
6
try {
   for (int i = 0; i < 10; i++) {
   }
} catch (Exception e) {
 
}

到此這篇關于Java for循環常見優化方法案例詳解的文章就介紹到這了,更多相關Java for循環常見優化方法內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/qq_44866828/article/details/119941212

延伸 · 閱讀

精彩推薦
  • Java教程Java8中Stream使用的一個注意事項

    Java8中Stream使用的一個注意事項

    最近在工作中發現了對于集合操作轉換的神器,java8新特性 stream,但在使用中遇到了一個非常重要的注意點,所以這篇文章主要給大家介紹了關于Java8中S...

    阿杜7482021-02-04
  • Java教程Java BufferWriter寫文件寫不進去或缺失數據的解決

    Java BufferWriter寫文件寫不進去或缺失數據的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進去或缺失數據的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望...

    spcoder14552021-10-18
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程xml與Java對象的轉換詳解

    xml與Java對象的轉換詳解

    這篇文章主要介紹了xml與Java對象的轉換詳解的相關資料,需要的朋友可以參考下...

    Java教程網2942020-09-17
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關于小米推送Java代碼,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧...

    富貴穩中求8032021-07-12
  • Java教程升級IDEA后Lombok不能使用的解決方法

    升級IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級,尋思已經有好久沒有升過級了。升級完畢重啟之后,突然發現好多錯誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程20個非常實用的Java程序代碼片段

    20個非常實用的Java程序代碼片段

    這篇文章主要為大家分享了20個非常實用的Java程序片段,對java開發項目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
  • Java教程Java實現搶紅包功能

    Java實現搶紅包功能

    這篇文章主要為大家詳細介紹了Java實現搶紅包功能,采用多線程模擬多人同時搶紅包,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙...

    littleschemer13532021-05-16
主站蜘蛛池模板: 欧美日韩亚州综合 | 禁漫天堂久久久久久久久久 | 久久草草影视免费网 | 精品久久久久久久久久久久久 | 精品99在线视频 | 成人一级在线 | 成人乱码一区二区三区不卡视频 | 五月天堂av91久久久 | 亚洲第一成人久久网站 | 免费观看黄色一级视频 | 麻豆小视频在线观看 | 久久一级 | 久久久www视频 | 国产一区二区三区高清 | 色欲香天天天综合网站 | 欧美3p激情一区二区三区猛视频 | 国产伊人色 | 日本一道aⅴ不卡免费播放 日日草夜夜操 | 欧美黄成人免费网站大全 | 黄色免费小视频网站 | 在线播放黄色网址 | 久久不射电影网 | 日韩一级片一区二区三区 | 国产黄色免费网站 | 国产1区2区3区中文字幕 | 国产精品视频中文字幕 | 久久综合综合 | 成人免费在线视频播放 | 91精品国产乱码久 | 性高潮一级片 | 一级一级一级一级毛片 | 国产精品99久久99久久久二 | 羞羞视频免费视频欧美 | 国产一区二区成人在线 | 成人在线视频免费播放 | 羞羞色院91精品网站 | 最新国产毛片 | 最新久久免费视频 | 一级电影免费 | 国产精品久久久毛片 | 2021国产精品视频 |