Showing posts with label arraylist. Show all posts
Showing posts with label arraylist. Show all posts

Thursday, May 5, 2011

C#/.NET interview Question - Why is an array faster than an ArrayList?

Answer:

Let’s demonstrate an example to prove that how arrays are faster than arraylist for that go to visual studio and create a simple window application with a button and two labels like below diagram.




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();
     }
 }
}

In the above code, I have used Stopwatch to record the time taken by the array and arraylist to performance actions.
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.

Please click here to see more c# and Dotnet interview questions

Regards,
Visit Authors blog for more Most asked c# interview questions

Monday, April 25, 2011

C#/.NET interview Question - Elaborate differentiate between ArrayList and Array?

Answer:


Let’s see an example to prove the above differences.

The below is how we declare Array.

String [ ] str = new String [5]; // here you see that the length is fixed as [5]
and the data type is also defined as string.

Now, see how you can declare ArrayList.
ArrayList   str = new ArrayList (); // here you see that the length is not fixed and
is not tied up with a data type.

If you go to add data to an ArrayList you can see it takes object which is a very generic type. Due to this boxing, unboxing or casting are done. In other words data moves from stack to heap or heap to stack. If you look at Array as they are strong types boxing and unboxing are completely avoided. Therefore, Array performance is faster as compared to ArrayList.





The below diagram gives a better idea of the differences between Array and ArrayList.


Please click here to see more C#/.NET interview questions

Regards,
Visit Authors blog for more C#/.NET interviewquestion