我是靠谱客的博主 兴奋纸飞机,最近开发中收集的这篇文章主要介绍java 测试:iterator foreach for 三种迭代方式哪种更快?,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

代码:

public class main {
    public static void main(String[] p_args){
        ArrayList<String> _l_string = new ArrayList<>();
        for (int o_a = 0; o_a < 100000; o_a++) {
            _l_string.add(String.valueOf(o_a));
        }
        c_public_countTime _countTime = new c_public_countTime();
        _countTime.f_begin();
        for (int i = 0; i < _l_string.size(); i++) {
            System.out.print(_l_string.get(i));
        }
        String _time_for = _countTime.f_done();
        _countTime.f_begin();
        for (String o_a :
                _l_string) {
            System.out.print(o_a);
        }
        String _time_foreach = _countTime.f_done();
        _countTime.f_begin();
        for (Iterator<String> o_iterator = _l_string.iterator(); o_iterator.hasNext();) {
            System.out.print(o_iterator.next());
        }
        String _time_iterator = _countTime.f_done();

        System.out.println("niterator:" + _time_iterator + "nfor:" + _time_for + "nforeach:" + _time_foreach );
    }
}

结果:可能是由于 java 内部执行的原因,不同的顺序造成的时长也各不相同,这里采集了一点数据样本。

(速度、先后顺序、时长)

#2 for:354 毫秒

#1 foreach:263 毫秒

#3 iterator:425 毫秒

小结:for 之后的 foreach 增加了速度。

=

#1 for:285 毫秒

#2 iterator:301 毫秒

#3 foreach:363 毫秒

小结:for 首次出场也获得了最快速度。

===

#3 foreach:517 毫秒

#1 for:285 毫秒

#2 iterator:478 毫秒

小结:foreach 首次出场速度不佳,for 速度跟首次出场速度一致。

=

#3 foreach:416 毫秒

#1 iterator:317 毫秒

#2 for:321 毫秒

小结:即使在 iterator 获得最快速度的时候,for 也有几乎没有差别的速度。 

===

#2 iterator:396 毫秒

#3 foreach:415 毫秒

#1 for:253 毫秒

小结:for 在最后出场的时候获得了最快速度。

===

#3 iterator:417 毫秒
#1 for:332 毫秒
#2 foreach:334 毫秒

小结:for 获得了最佳速度。

总结:iterator 和 foreach 并不会提高迭代的速度。所以应该通过必要的理由来使用它们,否则还是默认 for 比较快。

 

转载于:https://www.cnblogs.com/shiningWish/p/6224433.html

最后

以上就是兴奋纸飞机为你收集整理的java 测试:iterator foreach for 三种迭代方式哪种更快?的全部内容,希望文章能够帮你解决java 测试:iterator foreach for 三种迭代方式哪种更快?所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部