zoukankan      html  css  js  c++  java
  • ArrayList Array List性能比较

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

  • 相关阅读:
    【LeetCode 41】缺失的第一个正数
    【LeetCode 38】报数
    Scrum立会报告+燃尽图 04
    Scrum立会报告+燃尽图 03
    Scrum立会报告+燃尽图 02
    20191017-2 alpha week 2/2 Scrum立会报告+燃尽图 01
    作业要求20191010-9 alpha week 1/2 Scrum立会报告+燃尽图 07
    20191010-8 alpha week 1/2 Scrum立会报告+燃尽图 06
    Alpha阶段贡献分配规则
    选题 Scrum立会报告+燃尽图 05
  • 原文地址:https://www.cnblogs.com/zcy_soft/p/1846959.html
Copyright © 2011-2022 走看看