C# | Establece la capacidad al número real de elementos en el ArrayList

El método ArrayList.TrimToSize se usa para establecer la capacidad en el número real de elementos en ArrayList. Se puede usar para minimizar la sobrecarga de memoria de una colección si no se agregarán nuevos elementos a la colección.

Nota: Este método es una operación O(n), donde n es Count .

Sintaxis:

public virtual void TrimToSize ();

Excepción: este método dará NotSupportedException si ArrayList es de solo lectura o tiene un tamaño fijo.

A continuación se dan algunos ejemplos para entender la implementación de una mejor manera:

Ejemplo 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);
    }
}

Producción:

Before trimming the capacity is: 8
After trimming the capacity is: 6

Ejemplo 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();
   }
  
}

Producción:

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: 

Referencia:

Publicación traducida automáticamente

Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *