IList和ArrayList操作性能的区别有什么?
接Killkill:http://blog.csdn.net/killlkilll/archive/2006/12/23/1457022.aspxLazy: http://blog.csdn.net/lazy_/archive/2006/12/24/1458381.aspx
List<T>在创建的时候的时间消耗上明显比ArrayList要大。
List<T>对值类型操作不需要进行装箱;ArrayList需要。
鉴于这两点 ,可以得出,当数据量小的时候呢,ArrayList的操作时间上要比List<T>省,
但是在数据量大的时候呢,List<T>就要比ArrayLIst要省了。
可以来看看下面这个例子:
classProgram
{
staticvoidMain(string[]args)
{
Stopwatchsw=newStopwatch();
sw.Start();
IList<SomeType>list=newList<SomeType>();
for(inti=0;i< 1;i++)
{
list.Add(newSomeType(i,"test"));
}
sw.Stop();
Console.WriteLine(sw.Elapsed);
sw.Reset();
sw.Start();
ArrayListal=newArrayList();
for(inti=0;i<1;i++)
{
al.Add(newSomeType(i,"test"));
}
sw.Stop();
Console.WriteLine(sw.Elapsed);
Console.ReadLine();
}
}
{
staticvoidMain(string[]args)
{
Stopwatchsw=newStopwatch();
sw.Start();
IList<SomeType>list=newList<SomeType>();
for(inti=0;i< 1;i++)
{
list.Add(newSomeType(i,"test"));
}
sw.Stop();
Console.WriteLine(sw.Elapsed);
sw.Reset();
sw.Start();
ArrayListal=newArrayList();
for(inti=0;i<1;i++)
{
al.Add(newSomeType(i,"test"));
}
sw.Stop();
Console.WriteLine(sw.Elapsed);
Console.ReadLine();
}
}
本文地址:http://www.45fan.com/a/question/67187.html