C# | Método Stack<T>.TrimExcess con ejemplos

Stack representa una colección de objetos de último en entrar, primero en salir. Se utiliza cuando necesita un acceso de último en entrar, primero en salir a los elementos. Cuando agrega un elemento en la lista, se le llama empujar el elemento y cuando lo elimina, se le llama sacar el elemento.
El método Stack<T>.TrimExcess se usa para establecer la capacidad en el número real de elementos en Queue< T >, si ese número es inferior al 90 por ciento de la capacidad actual.

Una pila es una estructura de datos ilimitada y no hay ningún método disponible para calcular la capacidad de la pila en C#. Es dinámico y depende de la memoria del sistema. Este método se usa generalmente en la gestión de memoria de la gran pila.

Propiedades de pila:

  • La capacidad de una Pila es el número de elementos que la Pila puede contener. A medida que se agregan elementos a una pila, la capacidad aumenta automáticamente según sea necesario mediante la reasignación.
  • Si Count es menor que la capacidad de la pila, Push es una operación O(1). Si es necesario aumentar la capacidad para acomodar el nuevo elemento, Push se convierte en una operación O(n), donde n es Count. Pop es una operación O(1).
  • Stack acepta nulo como un valor válido y permite elementos duplicados.

Sintaxis:

public void TrimExcess ();

Nota:

  • Este método se puede usar para minimizar la sobrecarga de memoria de una colección si no se agregarán nuevos elementos a la colección.
  • Para restablecer un Stack< T > a su estado inicial, llame al método Clear antes de llamar al método TrimExcess.
  • Recortar un Stack< T > vacío establece la capacidad del Stack< T > a la capacidad predeterminada.

Ejemplo:

// C# code to set the capacity to the
// actual number of elements in the Stack
using System;
using System.Collections.Generic;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a Stack of strings
        Stack<string> myStack = new Stack<string>();
  
        // Inserting elements into Stack
        myStack.Push("1st");
        myStack.Push("2nd");
        myStack.Push("3rd");
        myStack.Push("4th");
        myStack.Push("5th");
  
        // To display number of elements in Stack
        Console.WriteLine(myStack.Count);
  
        // removing all the elements from the stack
        myStack.Clear();
  
        // using TrimExcess method
        myStack.TrimExcess();
  
        // To display number of elements in Stack
        Console.WriteLine(myStack.Count);
    }
}
Producción:

5
0

Referencia:

Publicación traducida automáticamente

Artículo escrito por Sahil_Bansall 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 *