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