C#/.NET interview Question - Is Arraylist faster than Array? Why?
Shivprasad Koirala
Below is the code snippet.
using System.Collections;// import this namespace to access arraylist.using System.Diagnostics;// import this namespace to access Stopwatch.namespace ArrayandArrayList{ public partial class Form1 : Form { int[] Array = new int[1000]; // here array is declared. ArrayList objArraylist = new ArrayList();// here array list is declared. public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Stopwatch objWatch = new Stopwatch(); Stopwatch objWatch1 = new Stopwatch(); objWatch.Start(); for(int i=0;i<1000;i++) { Array[i] = DateTime.Now.Second; } foreach (int i in Array) { } objWatch.Stop(); label1.Text = objWatch.ElapsedTicks.ToString(); objWatch1.Start(); for (int i = 0; i < 1000; i++) { objArraylist.Add(DateTime.Now.Second.ToString()); } foreach (object i in objArraylist) { } objWatch1.Stop(); label2.Text = objWatch1.ElapsedTicks.ToString(); } }}
The Output look like below diagram.
Conclusion: -As in ArrayList lots of Boxing and UnBoxing are done therefore its performance is slower than Array because in Array there is no type casting.
Regards,