C# | Insert an element into the ArrayList at the specified index - GeeksforGeeks

01 Feb, 2019
ArrayList represents an ordered collection of an object that can be indexed individually. It is basically an alternative to an array. It also allows dynamic memory allocation, adding, searching and sorting items in the list. ArrayList.Insert(Int32, Object) method inserts an element into the ArrayList at the specified index.
Properties of ArrayList Class:
Elements can be added or removed from the Array List collection at any point in time.
The ArrayList is not guaranteed to be sorted.
The capacity of an ArrayList is the number of elements the ArrayList can hold.
Elements in this collection can be accessed using an integer index. Indexes in this collection are zero-based.
It also allows duplicate elements.
Using multidimensional arrays as elements in an ArrayList collection is not supported.
Syntax :
public virtual void Insert (int index, object value);

Parameters:
index : It is the zero-based index at which value should be inserted.
value : It is the Object which is to be inserted. The value can be null.
Exceptions:
ArgumentOutOfRangeException : If index is less than zero or index is greater than Count i.e, number of elements in the ArrayList.
NotSupportedException : If the ArrayList is read-only or the ArrayList has a fixed size.
Below given are some examples to understand the implementation in a better way:
Example 1:
// C# code to insert an element// into the ArrayList at the// specified indexusing System;using System.Collections;using System.Collections.Generic;  class GFG {      // Driver code    public static void Main()    {          // Creating an ArrayList        ArrayList myList = new ArrayList(10);          // Adding elements to ArrayList        myList.Add("A");        myList.Add("B");        myList.Add("C");          // Displaying the elements in ArrayList        Console.WriteLine("The initial ArrayList is : ");        foreach(string str in myList)        {            Console.WriteLine(str);        }          // Inserting 3 elements at random index in the ArrayList        myList.Insert(1, "D");        myList.Insert(4, "E");        myList.Insert(5, "F");          // Displaying the modified ArrayList        Console.WriteLine("The ArrayList after Inserting elements is : ");          // Displaying the elements in ArrayList        foreach(string str in myList)        {            Console.WriteLine(str);        }    }}
The initial ArrayList is : 
A
B
C
The ArrayList after Inserting elements is : 
A
D
B
C
E
F

Example 2:
// C# code to insert an element// into the ArrayList at the// specified indexusing System;using System.Collections;using System.Collections.Generic;  class GFG {      // Driver code    public static void Main()    {          // Creating an ArrayList        ArrayList myList = new ArrayList(10);          // Adding elements to ArrayList        myList.Add(1);        myList.Add(2);        myList.Add(3);          // Displaying the elements in ArrayList        Console.WriteLine("The initial ArrayList is : ");        foreach(int i in myList)        {            Console.WriteLine(i);        }          // Inserting 3 elements in front of the ArrayList        myList.Insert(0, 4);        myList.Insert(0, 5);        myList.Insert(0, 6);          // Displaying the modified ArrayList        Console.WriteLine("The ArrayList after Inserting elements is : ");          // Displaying the elements in ArrayList        foreach(int i in myList)        {            Console.WriteLine(i);        }    }}
The initial ArrayList is : 
1
2
3
The ArrayList after Inserting elements is : 
6
5
4
1
2
3

Note:
If index is equal to Count i.e, number of elements in the ArrayList, value is added to the end of ArrayList.
This method is an O(n) operation, where n is Count.
Reference:
https://docs.microsoft.com/en-us/dotnet/api/system.collections.arraylist.insert?view=netframework-4.7.2
CSharp-Collections-ArrayList
CSharp-Collections-Namespace
CSharp-method
C#
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
C# Dictionary with examples
C# | Delegates
C# | Method Overriding
C# | Abstract Classes
Difference between Ref and Out keywords in C#
Extension Method in C#
C# | Class and Object
C# | Constructors
C# | String.IndexOf( ) Method | Set - 1
C# | Replace() Method