1. 程式人生 > >ArrayList與List性能測試

ArrayList與List性能測試

泛型list array col info clas 數據 行存儲 .com con

理論:由於ArrayList存儲數據存在裝箱(讀取數據存在拆箱),而泛型List<T>直接對T類型數據進行存儲,不存在裝箱與拆箱拆箱操作,理論上速度應該快一些。

廢話少說,上代碼。

 1    public void Test2()
 2         {
 3             float testData = 0.01f;
 4             long length = 100000000;
 5             Stopwatch sw = new Stopwatch();
 6             sw.Start();
 7             ArrayList arrayList = new
ArrayList(); 8 for (long i = 0; i < length; i++) 9 { 10 arrayList.Add(testData); 11 } 12 sw.Stop(); 13 14 Stopwatch sw2 = new Stopwatch(); 15 sw2.Start(); 16 List<float> list = new List<float
>(); 17 for (int i = 0; i < length; i++) 18 { 19 list.Add(testData); 20 } 21 sw2.Stop(); 22 Console.WriteLine("{0}次ArrayList裝箱時間{1}", length, sw.Elapsed); 23 Console.WriteLine("{0}次List裝箱時間 {1}", length, sw2.Elapsed);
24 25 }

技術分享圖片

輸出結果ArrayList進行1億此裝箱操作耗時9秒多,而List<T>泛型直接存儲數據不到1秒,性能高下立見。

ArrayList與List性能測試