国产精品亚洲一区-欧美日韩国产在线-伊人成人在线-国产精品无码久久久久-亚洲国产成人91精品-欧美成人精品欧美一级乱黄

二維碼
企資網(wǎng)

掃一掃關(guān)注

當(dāng)前位置: 首頁(yè) » 企資快報(bào) » 服務(wù) » 正文

你沒(méi)有見(jiàn)過(guò)的 7種 for 循環(huán)優(yōu)化,超好用

放大字體  縮小字體 發(fā)布日期:2021-08-26 02:59:30    作者:媒體小英    瀏覽次數(shù):19
導(dǎo)讀

來(lái)源:blog.csdn.net/csdn_aiyang/article/details/75162134我們都經(jīng)常使用一些循環(huán)耗時(shí)計(jì)算的操作,特別是for循環(huán),她是一種重復(fù)計(jì)算的操作,如果處理不好,耗時(shí)就比較大,如果處理書(shū)寫(xiě)得當(dāng)將大大提高效率,下面總

來(lái)源:blog.csdn.net/csdn_aiyang/article/details/75162134

我們都經(jīng)常使用一些循環(huán)耗時(shí)計(jì)算的操作,特別是for循環(huán),她是一種重復(fù)計(jì)算的操作,如果處理不好,耗時(shí)就比較大,如果處理書(shū)寫(xiě)得當(dāng)將大大提高效率,下面總結(jié)幾條for循環(huán)的常見(jiàn)優(yōu)化方式。

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

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

常規(guī)寫(xiě)法

for (int i = 0; i < list.size(); i++) { System.out.println(list.get(i));}
  • 優(yōu)點(diǎn):較常見(jiàn),易于理解
  • 缺點(diǎn):每次都要計(jì)算 list.size()

    優(yōu)化1:數(shù)組長(zhǎng)度提取出來(lái)

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

    優(yōu)化2:數(shù)組長(zhǎng)度提取出來(lái)

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

  • 不能在for循環(huán)中操作list的大小,比如除去或新加一個(gè)元素。

    優(yōu)化3:采用倒序的寫(xiě)法

    for (int i = list.size() - 1; i >= 0; i--) {System.out.println(list.get(i));}
  • 優(yōu)點(diǎn):不必每次都計(jì)算 ,變量的作用域遵循最小范圍原則。
  • 缺點(diǎn):
  • 結(jié)果的順序會(huì)反;
  • 看起來(lái)不習(xí)慣,不易讀懂。
  • 適用場(chǎng)合:與顯示結(jié)果順序無(wú)關(guān)的地方:比如保存之前數(shù)據(jù)的校驗(yàn)。

    遍歷

    for (Iterator<String> it = list.iterator(); it.hasNext();) {      System.out.println(it.next());}
  • 優(yōu)點(diǎn):簡(jiǎn)潔。

    優(yōu)化4:優(yōu)化遍歷

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

    優(yōu)化5:循環(huán)嵌套外小內(nèi)大原則

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

    原因:嵌套循環(huán)應(yīng)該遵循“外小內(nèi)大”的原則,這就好比你復(fù)制很多個(gè)小文件和復(fù)制幾個(gè)大文件的區(qū)別,復(fù)制很多小文件速度是很慢的,而復(fù)制幾個(gè)大文件速度則快很多。

    優(yōu)化6:循環(huán)嵌套提取不需要循環(huán)的邏輯

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

    優(yōu)化7:異常處理寫(xiě)在循環(huán)外面

    反例

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

    正例

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

    Copyright ? 2016 - 2025 - 企資網(wǎng) 48903.COM All Rights Reserved 粵公網(wǎng)安備 44030702000589號(hào)

    粵ICP備16078936號(hào)

    微信

    關(guān)注
    微信

    微信二維碼

    WAP二維碼

    客服

    聯(lián)系
    客服

    聯(lián)系客服:

    在線QQ: 303377504

    客服電話: 020-82301567

    E_mail郵箱: weilaitui@qq.com

    微信公眾號(hào): weishitui

    客服001 客服002 客服003

    工作時(shí)間:

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

    反饋

    用戶
    反饋

    主站蜘蛛池模板: 亚洲一区二区三区不卡视频 | 亚洲欧洲精品国产二码 | 亚洲aⅴ男人的天堂在线观看 | 在线综合+亚洲+欧美中文字幕 | 国产一级大片免费看 | 高清不卡毛片免费观看 | 欧美a在线视频 | 亚洲美女视频免费 | 美女的让男人桶到爽软件 | 古代级a毛片可以免费看 | 国产精品午夜国产小视频 | 欧美高清另类自拍视频在线看 | 一个人看的日本www的免费视频 | 日本加勒比高清一本大道 | 国产成人盗拍精品免费视频 | 18女人毛片大全 | 初爱视频教程在线观看高清 | 国产精品爱久久久久久久 | 成人精品一区二区久久久 | 成人做爰视频www视频 | 国产精品亚洲精品日韩已方 | 九草视频 | 欧美三级日韩三级 | 国产综合在线视频 | 一级a级国产不卡毛片 | 成人18免费网站在线观看 | 午夜国产精品久久久久 | 草草影院ccyy | 久久亚洲天堂 | 成人黄色在线免费观看 | 亚洲美女aⅴ久久久91 | 日本免费网站视频www区 | 可以免费看黄的网址 | 国产精品久久久 | 日本中文字幕不卡免费视频 | 一区二区三区国产美女在线播放 | 加勒比色久综合在线 | 日本亲子乱子伦视频 | 一级毛片aaa片免费观看 | 国产精品v免费视频 | 国产女人毛片 |