C#学习笔记之——用ArrayList和List的效率区别

用Stopwatch来记录时间,不过要使用,必须引入System.Diagnostics

Stopwatch sw1_1 = new Stopwatch ();
Stopwatch sw2_1 = new Stopwatch ();

ArrayList arrList1 = new ArrayList ();
List<int> list1 = new List<int> ();

sw1_1.Start ();
for (int i = 0; i < 10000; i++) {
	arrList1.Add (i);
}
sw1_1.Stop ();
Console.WriteLine ("值类型ArrayList" + sw1_1.Elapsed);

sw2_1.Start ();
for (int i = 0; i < 10000; i++) {
	list1.Add (i);
}
sw2_1.Stop ();
Console.WriteLine ("值类型List" + sw2_1.Elapsed);

ArrayList arrList2 = new ArrayList ();
List<string> list2 = new List<string> ();

Stopwatch sw1_2 = new Stopwatch ();
Stopwatch sw2_2 = new Stopwatch ();

sw1_2.Start ();
for (int i = 0; i < 10000; i++) {
	arrList2.Add ("ok");
}
sw1_2.Stop ();
Console.WriteLine ("引用类型ArrayList" + sw1_2.Elapsed);

sw2_2.Start ();
for (int i = 0; i < 10000; i++) {
	list2.Add ("ok");
}
sw2_2.Stop ();
Console.WriteLine ("引用类型List" + sw2_2.Elapsed);

可以看到结果如下:

值类型ArrayList00:00:00.0033938

值类型

List00:00:00.0009302

引用类型ArrayList00:00:00.0003928

引用类型

List00:00:00.0008262


所以值类型用List时间短,因为不需要装拆箱操作

引用类型用ArrayList时间短

相关文章:C#学习笔记之——List

原文地址:https://www.cnblogs.com/AlinaL/p/12852181.html