Skip to content
Related Articles

Related Articles

Improve Article

C# | Sets the capacity to the actual number of elements in the ArrayList

  • Last Updated : 28 Aug, 2019

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:




// 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 trimmimg
        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:




// 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:




My Personal Notes arrow_drop_up
Recommended Articles
Page :