In C#, an ArrayList
stores elements of multiple data types whose size can be changed dynamically. For example,
using System;
using System.Collections;
class Program
{
public static void Main()
{
// create an ArrayList
ArrayList student = new ArrayList();
// add elements to ArrayList
student.Add("Jackson");
student.Add(5);
// display every element of myList
for (int i = 0; i < student.Count; i++)
{
Console.WriteLine(student[i]);
}
}
}
Output
Jackson 5
Here, student
is an ArrayList
that contains elements ("Jackson"
and 5) of different data types.
We will learn about ArrayList
in detail.
Create an ArrayList
To create ArrayList
in C#, we need to use the System.Collections
namespace. Here is how we can create an arraylist in C#.
// create an arraylist
ArrayList myList = new ArrayList();
Here, we have created an arraylist named myList
.
Basic Operations on ArrayList
In C#, we can perform different operations on arraylists. We will look at some commonly used arraylist operations in this tutorial:
- Add Elements
- Access Elements
- Change Elements
- Remove Elements
Let's see how we can perform these operations in detail!
Add Elements in ArrayList
C# provides a method Add()
using which we can add elements in ArrayList
. For example,
using System;
using System.Collections;
class Program
{
public static void Main()
{
// create an ArrayList
ArrayList student = new ArrayList();
// add elements to ArrayList
student.Add("Tina");
student.Add(5);
}
}
In the above example, we have created an ArrayList
named student
.
Then we added "Tina"
and 5 to the ArrayList
using the Add()
method.
Note: ArrayList
stores elements with different data types. However, if you want to store elements of the same data type use List<T>
class instead.
Other way to add Elements to ArrayList
using System;
using System.Collections;
class Program
{
public static void Main()
{
// create an ArrayList using var
ArrayList myList = new ArrayList() { "Pizza", 24, "Pen" };
// iterate through items
for (int i = 0; i < myList.Count; i++)
{
Console.WriteLine(myList[i]);
}
}
}
Output
Pizza 24 Pen
In the above example, we have created an ArrayList
named myList
and assigned values at the same time using curly brackets.
This is how we use object initializer syntax.
Note: Object Initializer allows us to assign values at the time of creating an object.
To add an element to a specified index in ArrayList
, we use the Insert()
method. For example,
using System;
using System.Collections;
class Program
{
public static void Main()
{
// create an ArrayList
ArrayList myList = new ArrayList();
myList.Add("Jimmy");
myList.Add("Blake");
myList.Add("Taylor");
Console.WriteLine("Before Inserting: " + myList[1]);
// insert "Tim" at first index position
myList.Insert(1, "Tim");
Console.WriteLine("After Inserting: " + myList[1]);
}
}
Output
Before Inserting: Blake After Inserting: Tim
In the above example, we have inserted "Tim"
at the second index position using the Insert()
method.
Note: Remember Add()
method adds an element at the end of the list and the Insert()
method adds an element at a specified position.
Access ArrayList Elements
We use indexes to access elements in ArrayList
. The indexing starts from 0. For example,
using System;
using System.Collections;
class Program
{
public static void Main()
{
// create an ArrayList
ArrayList schoolDetails = new ArrayList();
schoolDetails.Add("Mary's");
schoolDetails.Add("France");
schoolDetails.Add(23);
// access the first element
Console.WriteLine("First element: " + schoolDetails[0]);
// access the second element
Console.WriteLine("Second element: " + schoolDetails[1]);
}
}
Output
First element: Mary's Second element: France
Since the index of the ArrayList
starts from 0:
schoolDetails[0]
- accesses the first elementschoolDetails[1]
- accesses the second element
Iterate ArrayList
In C#, we can also loop through each element of ArrayList
using a for
loop. For example,
using System;
using System.Collections;
class Program
{
public static void Main()
{
// create an ArrayList containing 3 elements
ArrayList myList = new ArrayList();
myList.Add("Science");
myList.Add(true);
myList.Add(5);
// display every element of myList
for (int i = 0; i < myList.Count; i++)
{
Console.WriteLine(myList[i]);
}
}
}
Output
Science True 5
In the above example, we have looped through myList
using a for
loop.
Here, myList.Count
gives the number of elements in myList
.
Change ArrayList Elements
We can change the value of elements in ArrayList
as:
using System;
using System.Collections;
class Program
{
public static void Main()
{
// create an ArrayList
ArrayList myList = new ArrayList();
myList.Add("Harry");
myList.Add("Miller");
Console.WriteLine("Original Second element: " + myList[1]);
// change the value of second element
myList[1] = "Styles";
Console.WriteLine("Updated second element: " + myList[1]);
}
}
Output
Original Second element: Miller Updated second element: Styles
Here, we have changed the value of the second element in myList
.
Remove ArrayList Elements
C# provides methods like Remove()
, RemoveAt()
, RemoveRange()
to remove elements from ArrayList
.
We will see an example below using Remove()
to a remove element:
using System;
using System.Collections;
class Program
{
public static void Main()
{
// create an ArrayList
ArrayList myList = new ArrayList();
myList.Add("Jack");
myList.Add(4);
myList.Add("Jimmy");
// remove "Jack" from myList
myList.Remove("Jack");
// iterate through myList after removing "Jack"
for (int i = 0; i < myList.Count; i++)
{
Console.WriteLine(myList[i]);
}
}
}
Output
4 Jimmy
In the above example, we have removed "Jack"
from myList
using the Remove()
method.
Frequently Asked Questions
We can also create an ArrayList
using var
keyword. For example,
using System;
using System.Collections;
class Program
{
public static void Main()
{
// create an ArrayList using var
var person = new ArrayList();
person.Add("Chris");
person.Add(45);
Console.WriteLine("Element at first index: " + person[1]);
}
}
Output
Element at first index: 45
ArrayList
?
C# provides a method Contains()
using which we can determine whether an element is present inside ArrayList
. For example,
using System;
using System.Collections;
class Program
{
public static void Main()
{
// create an ArrayList
var myList = new ArrayList() { "Delicate", "Willow", "Style", 3 };
// check whether myList contains "Willow"
var result = myList.Contains("Willow");
Console.WriteLine(result);
}
}
Output
True
Here, myList
contains "Willow"
so myList.Contains("Willow")
returns True
.