ArrayList(Int32) constructor is used to initialize a new instance of the ArrayList class which will be empty and will have the specified initial capacity. 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.
Syntax: public ArrayList (int capacity);
Here, capacity is the number of elements that the new list can initially store.
Exception: This will give ArgumentOutOfRangeException if the capacity is less than zero.
Important Points:
- The number of elements that an ArrayList can hold is known as the Capacity of the ArrayList. If the elements will be added to the ArrayList then capacity will be automatically increased by reallocating the internal array.
- Specifying the initial capacity will eliminate the requirement to perform a number of resizing operations while adding elements to the ArrayList if the size of the collection can be estimated.
- This constructor is an O(n) operation, where n is capacity.
Below programs illustrate the use of above-discussed constructor:
Example 1:
using System;
using System.Collections;
class Geeks {
public static void Main(String[] args)
{
ArrayList arrlist = new ArrayList(10);
Console.Write( "Number of elements: " );
Console.WriteLine(arrlist.Count);
Console.Write( "Capacity of ArrayList: " );
Console.WriteLine(arrlist.Capacity);
arrlist.Add( "C" );
arrlist.Add( "C++" );
arrlist.Add( "Java" );
arrlist.Add( "C#" );
Console.Write( "Number of elements: " );
Console.WriteLine(arrlist.Count);
Console.Write( "Capacity of ArrayList: " );
Console.WriteLine(arrlist.Capacity);
}
}
|
Output:
Number of elements: 0
Capacity of ArrayList: 10
Number of elements: 4
Capacity of ArrayList: 10
Example 2: For ArgumentOutOfRangeException
using System;
using System.Collections;
class Geeks {
public static void Main(String[] args)
{
ArrayList arrlist = new ArrayList(-4);
Console.WriteLine(arrlist.Capacity);
}
}
|
Runtime Error:
Unhandled Exception:
System.ArgumentOutOfRangeException: ‘capacity’ must be non-negative.
Parameter name: capacity
Reference: