• ArrayList Array List<T>性能比较


    一直知道ArrayList性能不太好,今天就来试了一下, 贴下来以后使用时做个参考.

    请看下面的代码:

    代码
    using System;
    using System.Collections;
    using System.Diagnostics;
    using System.Collections.Generic;
    using System.Text;
    using System.Threading;

    namespace Csharp.Test
    {
        
    public class Program
        {
            
    public static void Main(string[] args)
            {
                var k 
    = 1500000;

                Stopwatch stopWatch 
    = new Stopwatch();
                stopWatch.Start();
                ArrayList arrayList 
    = new ArrayList();
                
    for (int i = 0; i < k; i++)
                {
                    arrayList.Add(i);
                }
                
    foreach (int Item in arrayList)
                {
                    
                }
                stopWatch.Stop();
                Console.WriteLine(
    "ArrayList所花的时间:" + stopWatch.ElapsedMilliseconds);


                stopWatch.Reset();
                stopWatch.Start();
                
    int[] array = new int[k];
                
    for (int i = 0; i < k; i++)
                {
                    array[i] 
    = i;
                }
                
    foreach (int Item in array)
                {
     
                }
                stopWatch.Stop();
                Console.WriteLine(
    "Array所花的时间:" + stopWatch.ElapsedMilliseconds);

                stopWatch.Reset();
                stopWatch.Start();
                List
    <int> listInt = new List<int>();
                
    for (int i = 0; i < k; i++)
                {
                    listInt.Add(i);
                }
                
    foreach (int Item in listInt)
                {

                }
                stopWatch.Stop();
                Console.WriteLine(
    "List所花的时间:" + stopWatch.ElapsedMilliseconds);
                stopWatch.Reset();

                Console.ReadLine();
            }
        }
    }

    运行就可以看到,性能的区别的

    ArrayList  360

    Array  25

    List<T>  60

    从上面的结果可以看出, 360与25之让的差距. 不同项目不同需求, 小项目用ArrayList 能使工作简单,  用也是可以的,  只是做个测试, 并不是排挤, 毕竟微软还是把它做出来了. 所以建议尽量使用Array, 因为往ArrayList里面添加和修改元素,都会引起装箱和拆箱的操作,频繁的操作可能会影响一部分效率。

  • 相关阅读:
    Python3小练习2——(汉诺塔的移动),递归
    Python3小练习1——(ax*x+ bx + c = 0的解)
    SSRS数据导出Excel多出空白列
    ETL 压缩文件(makecab) 并邮件发送
    关于System.Web.Script.Serialization命名空间的引用
    如何通过VIsual Studio安装程序修改VS2017?
    如何其他服务器能够连接自己本机的数据库?
    SSAS表格模型部署问题
    表格模型——安装实例
    Leetcode 76题:最小覆盖子串 滑动窗口经典题
  • 原文地址:https://www.cnblogs.com/whtydn/p/1614292.html
Copyright © 2020-2023  润新知