zoukankan      html  css  js  c++  java
  • 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里面添加和修改元素,都会引起装箱和拆箱的操作,频繁的操作可能会影响一部分效率。

  • 相关阅读:
    ES6 语法详解(Promise对象(重点))
    ES6 语法详解(形参默认值)
    ES6 语法详解(三点运算符)
    ES6 语法详解(箭头函数(重点))
    ES6 语法详解(简化的对象写法)
    ES6 语法详解(模板字符串)
    ES6 语法详解(变量的解构赋值)
    [刷题] 走迷宫
    [bug] A reference cannot be reassigned, so it must be initialized at the member-initialization-list.
    [Qt] LibreCAD 源码分析
  • 原文地址:https://www.cnblogs.com/whtydn/p/1614292.html
Copyright © 2011-2022 走看看