C# | Get or set the number of elements that the ArrayList can contain
Last Updated :
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.Capacity property is used to get or set the number of elements that the ArrayList can contain.
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 int Capacity { get; set; }
Return Value: The number of elements that the ArrayList can contain.
Exceptions:
- ArgumentOutOfRangeException : If the Capacity is set to a value that is less than Count i.e, number of elements in the ArrayList.
- OutOfMemoryException : If there is not enough memory available on the system.
Example:
using System;
using System.Collections;
class GFG {
public static void Main() {
ArrayList myList = new ArrayList();
myList.Add(1);
myList.Add(2);
myList.Add(3);
myList.Add(4);
myList.Add(5);
Console.WriteLine( "Number of elements: " + myList.Count);
Console.WriteLine( "Current capacity: " + myList.Capacity);
}
}
|
Output:
Number of elements: 5
Current capacity: 8
Important Points:
- Capacity is the number of elements that the ArrayList can store. The Count is the number of elements that are actually in the ArrayList.
- Capacity is always greater than or equal to Count. If Count exceeds Capacity while adding elements, the capacity is automatically increased by reallocating the internal array before copying the old elements and adding the new elements.
Reference:
Share your thoughts in the comments
Please Login to comment...