ArrayList(int capacity) कंस्ट्रक्टर निर्दिष्ट प्रारंभिक क्षमता के साथ एक ArrayList बनाता है। यह आंतरिक सरणी को पूर्व-आवंटित करके पुनः आवंटन ओवरहेड से बचाता है जब तत्वों की अनुमानित संख्या ज्ञात हो।
उदाहरण 1: दो ArrayLists अलग-अलग क्षमताओं के साथ
using System;
using System.Collections;
public class Demo
{
public static void Main(String[] args)
{
ArrayList list1 = new ArrayList(5);
list1.Add("A");
list1.Add("B");
list1.Add("C");
list1.Add("D");
Console.WriteLine("Capacity in ArrayList1 = " + list1.Capacity);
Console.WriteLine("Elements in ArrayList1...");
foreach (string res in list1)
{
Console.WriteLine(res);
}
ArrayList list2 = new ArrayList(10);
list2.Add("A");
list2.Add("B");
list2.Add("C");
list2.Add("D");
list2.Add("E");
list2.Add("F");
list2.Add("G");
list2.Add("H");
list2.Add("I");
Console.WriteLine("Capacity in ArrayList2 = " + list2.Capacity);
Console.WriteLine("Elements in ArrayList2...");
foreach (string res in list2)
{
Console.WriteLine(res);
}
Console.WriteLine("Is ArrayList1 equal to ArrayList2? = " + list1.Equals(list2));
list2.RemoveRange(3, 2);
Console.WriteLine("Elements in ArrayList2 after removing elements in a range...");
foreach (string res in list2)
{
Console.WriteLine(res);
}
Console.WriteLine("Capacity in ArrayList2 = " + list2.Capacity);
}
}
आउटपुट
Capacity in ArrayList1 = 5 Elements in ArrayList1... A B C D Capacity in ArrayList2 = 10 Elements in ArrayList2... A B C D E F G H I Is ArrayList1 equal to ArrayList2? = False Elements in ArrayList2 after removing elements in a range... A B C F G H I Capacity in ArrayList2 = 10
उदाहरण 2: Clear के बाद क्षमता
using System;
using System.Collections;
public class Demo
{
public static void Main(String[] args)
{
ArrayList list = new ArrayList(5);
list.Add("A");
list.Add("B");
list.Add("C");
list.Add("D");
Console.WriteLine("Capacity in ArrayList = " + list.Capacity);
Console.WriteLine("Count of elements in ArrayList = " + list.Count);
Console.WriteLine("Elements in ArrayList...");
foreach (string res in list)
{
Console.WriteLine(res);
}
list.Clear();
Console.WriteLine("Capacity in ArrayList = " + list.Capacity);
Console.WriteLine("Count of elements in ArrayList = " + list.Count);
}
}
आउटपुट
Capacity in ArrayList = 5 Count of elements in ArrayList = 4 Elements in ArrayList... A B C D Capacity in ArrayList = 5 Count of elements in ArrayList = 0
प्रारंभिक क्षमता सेट करने से प्रदर्शन में सुधार होता है जब तत्वों की अनुमानित संख्या ज्ञात हो। क्षमता स्वचालित रूप से बढ़ती है (दोगुनी) जब पार हो जाती है। Clear() क्षमता को कम नहीं करता; TrimToSize() क्षमता को Count पर सेट करता है।