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.RemoveAt(Int32) se usa para eliminar el elemento en el índice especificado 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 RemoveAt (int index);
Aquí, índice es el índice de base cero del elemento que se va a eliminar.
Excepciones:
- NotSupportedException: si el objeto SortedList es de solo lectura o SortedList tiene un tamaño fijo.
- ArgumentOutOfRangeException: si el índice está fuera del rango de índices válidos para el objeto SortedList.
A continuación se dan algunos ejemplos para entender la implementación de una mejor manera:
Ejemplo 1:
// C# code to remove the element at // the specified index of 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("DS", "Data Structures"); mySortedList.Add("EE", "Electrical Engineering"); mySortedList.Add("CS", "Computer Science"); mySortedList.Add("ME", "Mechanical Engineering"); mySortedList.Add("CE", "Civil Engineering"); // 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 at index 4 Console.WriteLine("Removing element at index 4"); mySortedList.RemoveAt(4); // Displaying elements in SortedList foreach(string mykey in mySortedList.Keys) Console.WriteLine("Key = " + mykey); foreach(string myvalue in mySortedList.Values) Console.WriteLine("Key = " + myvalue); } }
Key = CE Key = CS Key = DS Key = EE Key = ME Key = Civil Engineering Key = Computer Science Key = Data Structures Key = Electrical Engineering Key = Mechanical Engineering Removing element at index 4 Key = CE Key = CS Key = DS Key = EE Key = Civil Engineering Key = Computer Science Key = Data Structures Key = Electrical Engineering
Ejemplo 2:
// C# code to remove the element at // the specified index of 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("DS", "Data Structures"); mySortedList.Add("EE", "Electrical Engineering"); mySortedList.Add("CS", "Computer Science"); mySortedList.Add("ME", "Mechanical Engineering"); mySortedList.Add("CE", "Civil Engineering"); // 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 at index 8 Console.WriteLine("Removing element at index 8"); // It should raise ArgumentOutOfRangeException // As index is outside the range of valid // indexes for the SortedList object. mySortedList.RemoveAt(8); // 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.ArgumentOutOfRangeException: el índice estaba fuera de rango. Debe ser no negativo y menor que el tamaño de la colección.
Nombre del parámetro: índice
Nota:
- La secuencia de índice se basa en la secuencia de clasificación. Cuando se agrega un elemento, se inserta en SortedList en el orden de clasificación correcto y la indexación se ajusta en consecuencia. Cuando se elimina un elemento, la indexación también se ajusta en consecuencia. Por lo tanto, el índice de un par clave/valor específico puede cambiar a medida que se agregan o eliminan elementos del objeto SortedList.
- 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