C# | Eliminar el elemento con la clave especificada de una lista ordenada

La clase SortedList es una colección de pares (clave, valor) que se ordenan según las claves. Se puede acceder a esos pares por clave y también por índice (indexación basada en cero). Esto viene bajo el espacio de nombres System.Collections . El método SortedList.Remove(Object) se usa para eliminar el elemento con la clave especificada de un objeto SortedList.

Propiedades:

  • Se puede acceder a un elemento SortedList por su clave o por su índice.
  • Un objeto SortedList mantiene internamente dos arrays para almacenar los elementos de la lista, es decir, una array para las claves y otra array para los valores asociados.
  • Una clave no puede ser nula, pero un valor sí puede serlo.
  • La capacidad de un objeto SortedList es la cantidad de elementos que SortedList puede contener.
  • Una SortedList no permite claves duplicadas.
  • Las operaciones en un objeto SortedList tienden a ser más lentas que las operaciones en un objeto Hashtable debido a la ordenación.
  • Se puede acceder a los elementos de esta colección mediante un índice entero. Los índices de esta colección están basados ​​en cero.

Sintaxis:

public virtual void Remove (object key);

Aquí, clave es la clave del elemento a eliminar.

Excepciones:

  • NotSupportedException: si el objeto SortedList es de solo lectura o SortedList tiene un tamaño fijo.
  • ArgumentNullException: si la clave es nula.

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

Ejemplo 1:

// C# code to remove the element
// with the specified key from a SortedList
using System;
using System.Collections;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating an SortedList
        SortedList mySortedList = new SortedList();
  
        // Adding elements to SortedList
        mySortedList.Add("IN", "INDIA");
        mySortedList.Add("NY", "NEW-YORK");
        mySortedList.Add("UK", "UNITED KINGDOM");
        mySortedList.Add("GER", "GERMANY");
        mySortedList.Add("CH", "CHINA");
  
        // Displaying elements in SortedList
        foreach (string mykey in mySortedList.Keys)
            Console.WriteLine("Key = " + mykey);
  
        foreach (string myvalue in mySortedList.Values)
            Console.WriteLine("Key = " + myvalue);
  
        // Removing element having key as "UK"
        Console.WriteLine("Removing element having key as UK");
  
        mySortedList.Remove("UK");
  
        // Displaying elements in SortedList
        foreach (string mykey in mySortedList.Keys)
            Console.WriteLine("Key = " + mykey);
  
        foreach (string myvalue in mySortedList.Values)
            Console.WriteLine("Key = " + myvalue);
    }
}
Producción:

Key = CH
Key = GER
Key = IN
Key = NY
Key = UK
Key = CHINA
Key = GERMANY
Key = INDIA
Key = NEW-YORK
Key = UNITED KINGDOM
Removing element having key as UK
Key = CH
Key = GER
Key = IN
Key = NY
Key = CHINA
Key = GERMANY
Key = INDIA
Key = NEW-YORK

Ejemplo 2:

// C# code to remove the element
// with the specified key from a SortedList
using System;
using System.Collections;
using System.Collections.Generic;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating an SortedList
        SortedList mySortedList = new SortedList();
  
        // Adding elements to SortedList
        mySortedList.Add("IN", "INDIA");
        mySortedList.Add("NY", "NEW-YORK");
        mySortedList.Add("UK", "UNITED KINGDOM");
        mySortedList.Add("GER", "GERMANY");
        mySortedList.Add("CH", "CHINA");
  
        // Displaying elements in SortedList
        foreach (string mykey in mySortedList.Keys)
            Console.WriteLine("Key = " + mykey);
  
        foreach (string myvalue in mySortedList.Values)
            Console.WriteLine("Key = " + myvalue);
  
        // Removing element having key as null
        Console.WriteLine("Removing element having key as null");
  
        // It should raise ArgumentNullException
        // as key can not be null
        mySortedList.Remove(null);
  
        // Displaying elements in SortedList
        foreach (string mykey in mySortedList.Keys)
            Console.WriteLine("Key = " + mykey);
  
        foreach (string myvalue in mySortedList.Values)
            Console.WriteLine("Key = " + myvalue);
    }
}

Error:

Excepción no controlada:
System.ArgumentNullException: la clave no puede ser nula.
Nombre del parámetro: clave

Nota:

  • Si el objeto SortedList no contiene un elemento con la clave especificada, SortedList permanece sin cambios. No se lanza ninguna excepción.
  • Este método es una operación O(n), donde n es Count.

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 *