<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Raymond
    Java筆記

    2006年3月3日

    在Java高效編程里面看到變量一個ArrayList的時候,有兩種方式:
    假設a是個ArrayList

    1、 for (int i=0;i<a.size();i++) {
    2、 for (int i=0,n=a.size();i<n;i++) {

    帶著點懷疑我做了一下試驗,的確是方法2快一點的,估計是a.size()方法里面花費了一點多余的時間。后來我想到jdk 1.5開始還有一種遍歷的for/each方法,我做了一下比較,結果有點驚訝。

    源程序如下

     1import java.util.ArrayList;
     2
     3public class ProfileArrayList {
     4
     5  public static void main(String[] args) {
     6    ArrayList<String> s=new ArrayList<String>();
     7    for (int i=0;i<15000;i++{
     8      s.add(""+System.currentTimeMillis());
     9    }

    10    System.out.println("Start ");
    11    testOne(s);
    12    testTwo(s);
    13    testThree(s);
    14    System.out.println("End ");
    15  }

    16  
    17  private static void testOne(ArrayList<String> a) {
    18    int j=0;String s=null;
    19    for (int i=0;i<a.size();i++{
    20      s=a.get(i);
    21      j++;
    22    }

    23  }

    24  
    25private static void testTwo(ArrayList<String> a) {
    26    int j=0;
    27    String s=null;
    28    for (int i=0,n=a.size();i<n;i++{
    29      s=a.get(i);
    30      j++;
    31    }

    32  }

    33
    34private static void testThree(ArrayList<String> a) {
    35  int j=0;
    36  for (String s : a) {
    37    j++;
    38  }

    39}

    40
    41}

    42

    通過Profiling工具看結果:
    方法      運行時間
    testOne   0.055764
    testTwo  0.043821
    testThres 0.132451

    也就是說,jdk 1.5的for/each循環是最慢的。有點不相信。開頭覺得是因為賦值造成的,但后來在另兩個方法里面加上賦值語句,依然是for/each最慢。比較有趣的結果。

    從代碼清晰角度,用for/each消耗多一點點時間似乎也無所謂。但是,另兩種代碼也不見得“不清晰”,呵呵。看著辦了。

    posted @ 2006-03-03 12:00 Raymond的Java筆記 閱讀(497) | 評論 (0)編輯 收藏
     
    主站蜘蛛池模板: 3344在线看片免费| 亚洲丶国产丶欧美一区二区三区| 男人的天堂av亚洲一区2区| 久久午夜免费视频| 亚洲一级在线观看| 91禁漫免费进入| 亚洲明星合成图综合区在线| 91大神在线免费观看| 久久久久亚洲AV无码永不| 97av免费视频| 亚洲国产韩国一区二区| 好先生在线观看免费播放| 亚洲av无码专区在线观看亚| 国产极品粉嫩泬免费观看| 男女猛烈激情xx00免费视频| 亚洲伊人成无码综合网| 中文字幕视频免费在线观看| 亚洲爆乳无码专区| 亚洲视频在线观看免费视频| 国产婷婷综合丁香亚洲欧洲| 四虎永久在线精品免费影视 | 国产免费看JIZZ视频| 久久国产亚洲精品| 国产美女a做受大片免费| 日韩精品无码永久免费网站| 亚洲熟妇av一区二区三区| 久久国产免费一区| 亚洲 欧洲 自拍 另类 校园| 免费一级毛片在级播放| 免费无码一区二区三区蜜桃| 亚洲性猛交xx乱| 国产成人免费a在线资源| 成全视成人免费观看在线看| 亚洲无人区视频大全| 全亚洲最新黄色特级网站 | 国产亚洲精AA在线观看SEE| 无码国产精品一区二区免费vr| 亚洲国产日韩在线人成下载| 在线永久免费观看黄网站| 中文字幕在线观看免费| 亚洲日韩中文字幕|