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 遍历使用迭代器遍历

  • 相关阅读:
    HasMap
    SQL Server 2005新特性之使用with关键字解决递归父子关系
    Silverlight4调用本地音频设备并将音频文件上传到服务器
    sql中exists,not exists的用法
    ie中jQuery无法解析xml文件的解决方案
    NeatUpload的安装使用
    C# 中 MSCHART 饼状图显示百分比
    JSON
    silverlight 独立存储
    SharePoint2010 自定义搜索
  • 原文地址:https://www.cnblogs.com/wlong-blog/p/14774312.html
Copyright © 2011-2022 走看看