<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筆記 閱讀(500) | 評論 (0)編輯 收藏
     
    主站蜘蛛池模板: 黄网址在线永久免费观看| a一级爱做片免费| 男女做羞羞的事视频免费观看无遮挡| 亚洲午夜未满十八勿入网站2| 色爽黄1000部免费软件下载| 免费在线观看视频a| 免费人妻精品一区二区三区| 夜色阁亚洲一区二区三区| 国产精品亚洲一区二区无码| 可以免费观看一级毛片黄a | 亚洲一区二区三区AV无码| 51午夜精品免费视频| 国产亚洲色婷婷久久99精品| 中文字幕免费在线看线人动作大片| 亚洲一级片免费看| 成人无码区免费A∨直播| 亚洲AV无码码潮喷在线观看| 24小时在线免费视频| 亚洲va久久久久| 免费一级成人毛片| 中文字幕不卡免费视频| 亚洲福利在线观看| 久久不见久久见免费影院 | 中文字幕亚洲第一| 国产一区二区三区免费| 亚洲高清资源在线观看| 免费特级黄毛片在线成人观看| 亚洲gay片在线gv网站| 亚洲男人的天堂在线va拉文| 男女作爱在线播放免费网站| 亚洲AV无码一区二区三区人| 中文在线免费看视频| 久久精品国产亚洲AV香蕉| 天天摸天天碰成人免费视频| www免费插插视频| 国产资源免费观看| 亚洲人成在线免费观看| 国产一区视频在线免费观看| 嫩草在线视频www免费观看| 亚洲色大成网站www永久网站| 久久亚洲国产成人影院网站|