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

  • 相关阅读:
    Qbxt 模拟题 day2(am) T2 jian
    Codevs 1017 乘积最大 2000年NOIP全国联赛普及组NOIP全国联赛提高组
    洛谷比赛 U5442 买(最长链)
    洛谷 P1800 software_NOI导刊2010提高(06)(二分答案+DP检验)
    Codevs 4373 窗口(线段树 单调队列 st表)
    P1453 城市环路
    P1841 [JSOI2007]重要的城市
    P1410 子序列
    H
    GSS4 D
  • 原文地址:https://www.cnblogs.com/whtydn/p/1614292.html
Copyright © 2011-2022 走看看