ArrayList.TrimToSize Method is used to set the capacity to the actual number of elements in the ArrayList. It can be used to minimize a collection’s memory overhead if no new elements will be added to the collection. Note: This method is an O(n) operation, where n is Count. Syntax:
public virtual void TrimToSize ();
Exception: This method will give NotSupportedException if the ArrayList is read-only or has a fixed size. Below given are some examples to understand the implementation in a better way: Example 1:
CSharp
// C# program to illustrate the TrimToSize() Method using System;
using System.Collections;
class GFG {
// Main method
public static void Main()
{
// create and initialize new ArrayList
ArrayList mylist = new ArrayList();
mylist.Add("Geeks");
mylist.Add("GFG");
mylist.Add("DSA");
mylist.Add("C#");
mylist.Add("Java");
mylist.Add("C++");
// Capacity of ArrayList before trimming
Console.WriteLine("Before trimming the capacity is : {0}",
mylist.Capacity);
// trim the ArrayList
mylist.TrimToSize();
// Capacity of ArrayList after trimming
Console.WriteLine("After trimming the capacity is : {0}",
mylist.Capacity);
}
} |
Output:
Before trimming the capacity is: 8 After trimming the capacity is: 6
Example 2:
CSharp
// C# program to illustrate the TrimToSize() Method using System;
using System.Collections;
class GFG {
// Main Method
public static void Main() {
// Creating and initializing a new ArrayList.
ArrayList mylist = new ArrayList();
mylist.Add("C# ");
mylist.Add("Java ");
mylist.Add("C++ ");
mylist.Add("DSA ");
mylist.Add("Python ");
mylist.Add("Web");
// Displaying the count, capacity
// and values of the ArrayList.
Console.WriteLine("Before Using TrimToSize Method:");
Console.WriteLine("Count: {0}", mylist.Count);
Console.WriteLine("Capacity: {0}", mylist.Capacity);
Console.Write("Values are: ");
Display(mylist);
Console.WriteLine();
// Trim the ArrayList.
mylist.TrimToSize();
// Displaying the count, capacity
// and values of the ArrayList.
Console.WriteLine("After Using TrimToSize Method:");
Console.WriteLine("Count: {0}", mylist.Count);
Console.WriteLine("Capacity: {0}", mylist.Capacity);
Console.Write("Values are: ");
Display(mylist);
// Clear the ArrayList.
mylist.Clear();
Console.WriteLine();
// Displaying the count, capacity
// and values of the ArrayList.
Console.WriteLine("After Using Clear Method:");
Console.WriteLine("Count: {0}", mylist.Count);
Console.WriteLine("Capacity: {0}", mylist.Capacity);
Console.Write("Values are: ");
Display(mylist);
// again trim the ArrayList
mylist.TrimToSize();
Console.WriteLine();
// Displaying the count, capacity
// and values of the ArrayList.
Console.WriteLine("After Again Using TrimToSize Method:");
Console.WriteLine("Count: {0}", mylist.Count);
Console.WriteLine("Capacity: {0}", mylist.Capacity);
Console.Write("Values are: ");
Display(mylist);
}
// to display the values of ArrayList
public static void Display(IEnumerable ienum)
{
foreach (Object ob in ienum)
Console.Write("{0}", ob);
Console.WriteLine();
}
} |
Output:
Before Using TrimToSize Method: Count: 6 Capacity: 8 Values are: C# Java C++ DSA Python Web After Using TrimToSize Method: Count: 6 Capacity: 6 Values are: C# Java C++ DSA Python Web After Using Clear Method: Count: 0 Capacity: 6 Values are: After Again Using TrimToSize Method: Count: 0 Capacity: 4 Values are:
Reference: