For循环和Iterator的性能分析

问同学一个问题,我有一个列表,该怎么遍历它呢?你会讲So easy, 用for呀,所以你会看到如下code:

for(String item : list) {
}

但是这样真的好吗?元芳你怎么看?
这里小编做了一个测试,比较了一下它和Iterator的执行效率,这不就有了这边文章。代码如下:

	List<String> list = new ArrayList<String>();
        int i= 0;

        for(; i<10000; i++) {
            list.add(String.valueOf(i));
        }

        Long currentMills = System.nanoTime();

        for(String item : list) {
        }

        System.out.println("for spend time");
        System.out.println(System.nanoTime() - currentMills);

        Long beagin = System.nanoTime();
        Iterator<String> iterator = list.iterator();
        while (iterator.hasNext()) {
            iterator.next();
        }
        System.out.println("iterator spend time");
        System.out.println(System.nanoTime() - beagin);
    }

执行结果如下:
在这里插入图片描述
是不是惊喜的发现,使用Iterator更快一些。

若您发现有什么不妥,还请八方支援,笔者感激不尽哦!!

猜你喜欢

转载自blog.csdn.net/u014454462/article/details/84336028
今日推荐