C# | Capacidad de una lista ordenada – Part 1

La propiedad SortedList.Capacity se usa para obtener o establecer la capacidad de un objeto SortedList.

Sintaxis:

public virtual int Capacity { get; set; }

Valor devuelto: esta propiedad devuelve el número de elementos de tipo System.Int32 que puede contener el objeto SortedList.

Excepciones:

  • ArgumentOutOfRangeException: si el valor asignado es menor que el número actual de elementos en el objeto SortedList.
  • OutOfMemoryException: si no hay suficiente memoria disponible en el sistema.

Capacidad frente a recuento:

  • El conteo siempre es menor que la capacidad. Al agregar los elementos, si Count excede la capacidad, la capacidad aumentará automáticamente al reasignar la array interna antes de copiar los elementos antiguos y agregar los elementos nuevos.
  • La capacidad es el número de elementos que la lista puede almacenar antes de que sea necesario cambiar el tamaño de la lista. Pero Count es el número de elementos que están realmente presentes en la Lista.
  • Si la capacidad es mucho mayor que el recuento, el usuario puede reducir la capacidad llamando al método TrimExcess o configurando explícitamente la capacidad en un valor más bajo.
  • Si la capacidad se liquida explícitamente, la array interna también se reasigna para acomodar la capacidad especificada y se copian todos los elementos.
  • Recuperar el valor de la propiedad Capacidad es una operación O(1) mientras que establecer la Capacidad es una operación O(n), donde n es una nueva capacidad.

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

Ejemplo 1:

// C# program to illustrate the
// Capacity Property of SortedList
using System;
using System.Collections;
  
class Geeks {
  
    // Main Method
    public static void Main(String[] args)
    {
  
        // Creating a SortedList of integers
        // Here we are not setting
        // Capacity explicitly
        SortedList mySortedList = new SortedList();
  
        // Adding elements to SortedList
        mySortedList.Add("1", "C#");
        mySortedList.Add("2", "Java");
        mySortedList.Add("3", "DSA");
        mySortedList.Add("4", "Python");
        mySortedList.Add("5", "C");
  
        // Printing the Capacity of mySortedList
        Console.WriteLine("Capacity Is: " + mySortedList.Capacity);
  
        // Printing the Count of mySortedList
        Console.WriteLine("Count Is: " + mySortedList.Count);
  
        // Adding some more
        // elements in mySortedList
        mySortedList.Add("6", "C++");
        mySortedList.Add("7", "HTML");
        mySortedList.Add("8", "CSS");
        mySortedList.Add("9", "Web");
        mySortedList.Add("10", "DBMS");
        mySortedList.Add("11", "CN");
        mySortedList.Add("12", "Ruby");
        mySortedList.Add("13", "Perl");
        mySortedList.Add("14", "R");
        mySortedList.Add("15", "GO");
        mySortedList.Add("16", "Scala");
        mySortedList.Add("17", "Big Data");
  
        // Printing the Capacity of mySortedList
        // It will give output 32 as internally
        // SortedList is resized
        Console.WriteLine("Capacity Is: " + mySortedList.Capacity);
  
        // Printing the Count of mySortedList
        Console.WriteLine("Count Is: " + mySortedList.Count);
    }
}

Producción:

Capacity Is: 16
Count Is: 5
Capacity Is: 32
Count Is: 17

Ejemplo 2:

// C# program to illustrate the
// Capacity Property of SortedList
using System;
using System.Collections;
  
class Geeks {
  
    // Main Method
    public static void Main(String[] args)
    {
  
        // Creating a SortedList of integers
        // Here we are setting Capacity
        // explicitly i.e. 7
        SortedList mySortedList = new SortedList(7);
  
        // Printing the Capacity of mySortedList
        Console.WriteLine("Capacity Is: " + mySortedList.Capacity);
  
        // Printing the Count of mySortedList
        Console.WriteLine("Count Is: " + mySortedList.Count);
  
        // Adding elements to SortedList
        mySortedList.Add("1", "C#");
        mySortedList.Add("2", "Java");
        mySortedList.Add("3", "DSA");
        mySortedList.Add("4", "Python");
        mySortedList.Add("5", "C");
  
        // Printing the Capacity of mySortedList
        Console.WriteLine("Capacity Is: " + mySortedList.Capacity);
  
        // Printing the Count of mySortedList
        Console.WriteLine("Count Is: " + mySortedList.Count);
  
        // Adding some more
        // elements in firstlist
        mySortedList.Add("6", "C++");
        mySortedList.Add("7", "HTML");
        mySortedList.Add("8", "CSS");
        mySortedList.Add("9", "Web");
  
        // Printing the Capacity of mySortedList
        // It will give output 14 as internally
        // SortedList is resized
        Console.WriteLine("Capacity Is: " + mySortedList.Capacity);
  
        // Printing the Count of firstlist
        Console.WriteLine("Count Is: " + mySortedList.Count);
    }
}

Producción:

Capacity Is: 7
Count Is: 0
Capacity Is: 7
Count Is: 5
Capacity Is: 14
Count Is: 9

Referencia:

Publicación traducida automáticamente

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