zoukankan      html  css  js  c++  java
  • java中的Iterator与增强for循环的效率比较

      最近在优化代码时遇到了这个问题:Iterator与增强for循环到底哪个效率高?之前在学习的时候,好像记着老师说过遍历集合(如list)时,使用iterator好像正规一些,因为是专用的,但是运行效率问题确实不曾考虑,今天做了一个实验:对两者进行了简单的比较,得出的结论是增强for循环运行效率更高一些。但是我不确定这是否会代表全部情况,这里仅仅记录一下,做个参考,后期有新的认识再来补充,欢迎大家批评指正。

     1   public static void main(String[] args) {
     2         test();
     3     }
     4     
     5     public static void test() {
     6         
     7         List<Integer> list = new ArrayList<Integer>();
     8         int flag = 100000;
     9         int i=0;
    10         while(i<flag) {
    11             list.add(i);
    12             i++;
    13         }
    14         
    15         // iterator测试
    16         long start = System.currentTimeMillis();
    17             Iterator<Integer> iterator = list.iterator();
    18             while(iterator.hasNext()) {
    19                 System.out.print(iterator.next());
    20             }
    21         long end = System.currentTimeMillis();
    22         System.out.println("iterator本次执行耗费了"+(end-start)+"毫秒");
    23         
    24         // 增强for循环测试
    25         long start2 = System.currentTimeMillis();
    26             for(Integer inte : list) {
    27                 System.out.print(inte);
    28             }
    29         long end2 = System.currentTimeMillis();
    30         System.out.println("for本次执行耗费了"+(end2-start2)+"毫秒");
    31     }

      运行结果为:

  • 相关阅读:
    (转)很简短,但读完你会感触良多!
    (转)让 win8 快速通过认证的5个提示
    WPF 资源路径解析
    47、SimpleOrientationSensor
    45、SplashScreen
    让IE6也支持position:fixed
    utf8编码引起js输出中文乱码的解决办法(实用)
    javascript的currying函数
    sicily 1036. Crypto Columns
    sicily 6774. Buying Mortadella
  • 原文地址:https://www.cnblogs.com/tjudzj/p/7326628.html
Copyright © 2011-2022 走看看