zoukankan      html  css  js  c++  java
  • List遍历方式选择

    List 中ArrayList ,linkedList 两种列表分别进行 for循环遍历 和迭代器遍历比较,代码如下:

    public class TraverseTest {
    
        private static long traverseByLoop(List list) {
            long startTime = System.currentTimeMillis();
            for (int i = 0; i < list.size(); i++) {
                list.get(i);
            }
            long endTime = System.currentTimeMillis();
            return endTime - startTime;
        }
    
        private static long traverseByIterator(List list) {
            long startTime = System.currentTimeMillis();
            for (Iterator it = list.iterator(); it.hasNext(); ) {
                it.next();
            }
            long endTime = System.currentTimeMillis();
            return endTime - startTime;
        }
    
        public static void main(String[] args) {
            List<String> arrayList = new ArrayList<>();
            for (int i = 0; i < 100000; i++) {
                arrayList.add("" + i);
            }
            long loopTime = traverseByLoop(arrayList);
            long iteratorTime = traverseByIterator(arrayList);
            System.out.println("for循环遍历时间:" + loopTime);
            System.out.println("iterator遍历时间:" + iteratorTime);
    
            List<String> linkedList = new LinkedList<>();
            for (int i = 0; i < 100000; i++) {
                linkedList.add("" + i);
            }
            loopTime = traverseByLoop(linkedList);
            iteratorTime = traverseByIterator(linkedList);
            System.out.println("for循环遍历时间:" + loopTime);
            System.out.println("iterator遍历时间:" + iteratorTime);
        }
    }

    测试结果:

    for循环遍历时间:5
    iterator遍历时间:7
    for循环遍历时间:12786
    iterator遍历时间:4

    可以看出:ArrayList for循环和iterator 遍历结果相差不大 ,一般推荐使用for循环遍历; LinkedList 使用for循环遍历耗时时间长,linkedList 遍历使用迭代器遍历

  • 相关阅读:
    2020-2021-1学期 20202424 《网络空间安全导论》第一周学习总结
    斐波那契数列
    第五周学习总结
    第四周学习总结
    黑客偶像
    第三周学习总结
    关于罗马数字转换成阿拉伯数字的理解
    十进制转二进制(python转换代码)
    第二周学习总结
    师生关系
  • 原文地址:https://www.cnblogs.com/wlong-blog/p/14774312.html
Copyright © 2011-2022 走看看