zoukankan      html  css  js  c++  java
  • C#学习笔记之——用ArrayList和List的效率区别

    用Stopwatch来记录时间,不过要使用,必须引入System.Diagnostics

    Stopwatch sw1_1 = new Stopwatch ();
    Stopwatch sw2_1 = new Stopwatch ();
    
    ArrayList arrList1 = new ArrayList ();
    List<int> list1 = new List<int> ();
    
    sw1_1.Start ();
    for (int i = 0; i < 10000; i++) {
    	arrList1.Add (i);
    }
    sw1_1.Stop ();
    Console.WriteLine ("值类型ArrayList" + sw1_1.Elapsed);
    
    sw2_1.Start ();
    for (int i = 0; i < 10000; i++) {
    	list1.Add (i);
    }
    sw2_1.Stop ();
    Console.WriteLine ("值类型List" + sw2_1.Elapsed);
    
    ArrayList arrList2 = new ArrayList ();
    List<string> list2 = new List<string> ();
    
    Stopwatch sw1_2 = new Stopwatch ();
    Stopwatch sw2_2 = new Stopwatch ();
    
    sw1_2.Start ();
    for (int i = 0; i < 10000; i++) {
    	arrList2.Add ("ok");
    }
    sw1_2.Stop ();
    Console.WriteLine ("引用类型ArrayList" + sw1_2.Elapsed);
    
    sw2_2.Start ();
    for (int i = 0; i < 10000; i++) {
    	list2.Add ("ok");
    }
    sw2_2.Stop ();
    Console.WriteLine ("引用类型List" + sw2_2.Elapsed);

    可以看到结果如下:

    值类型ArrayList00:00:00.0033938

    值类型

    List00:00:00.0009302

    引用类型ArrayList00:00:00.0003928

    引用类型

    List00:00:00.0008262


    所以值类型用List时间短,因为不需要装拆箱操作

    引用类型用ArrayList时间短

    相关文章:C#学习笔记之——List

  • 相关阅读:
    postman接口测试及断言
    postman使用CSV和Json文件实现批量接口测试
    php 实现抽奖代码
    判断时间是否过期
    文件上传-图片展示
    导入
    增删改查
    NDK编译Eigen
    keras下载vgg16太慢解决办法
    非极大值抑制NMS
  • 原文地址:https://www.cnblogs.com/AlinaL/p/12852181.html
Copyright © 2011-2022 走看看