En C#, SortedList es una colección de pares clave/valor que se ordenan según las claves. De forma predeterminada, esta colección ordena los pares clave/valor en orden ascendente. Es de tipo genérico y no genérico de colección. La SortedList genérica se define en el espacio de nombres System.Collections.Generic , mientras que la SortedList no genérica se define en el espacio de nombres System.Collections .
Ejemplo:
// C# program to illustrate how // to create a sortedlist using System; using System.Collections; class GFG { // Main Method static public void Main() { // Creating a sortedlist // Using SortedList class SortedList my_Slist = new SortedList(); // Adding key/value pairs in // SortedList using Add() method my_Slist.Add(1.02, "Dog"); my_Slist.Add(1.07, "Cat"); my_Slist.Add(1.04, "Rat"); my_Slist.Add(1.01, "Bird"); foreach(DictionaryEntry pair in my_Slist) { Console.WriteLine("{0} and {1}", pair.Key, pair.Value); } Console.WriteLine(); } }
1.01 and Bird 1.02 and Dog 1.04 and Rat 1.07 and Cat
En C#, SortedDictionary es una colección genérica que se utiliza para almacenar los pares clave/valor en forma ordenada y la clasificación se realiza en la clave. SortedDictionary se define en el espacio de nombres System.Collection.Generic . Es de naturaleza dinámica, lo que significa que el tamaño del diccionario ordenado crece según la necesidad.
Ejemplo:
// C# program to illustrate how // to create a sorted dictionary using System; using System.Collections.Generic; class GFG { // Main Method static public void Main() { // Creating sorted dictionary // Using SortedDictionary class SortedDictionary<int, string> My_sdict = new SortedDictionary<int, string>(); // Adding key/value pair in Sorted // Dictionary Using Add() method My_sdict.Add(004, "Roscosmos"); My_sdict.Add(003, "ESA"); My_sdict.Add(001, "NASA"); My_sdict.Add(005, "ISRO"); My_sdict.Add(002, "CNSA"); Console.WriteLine("Top 5 space agencies 2018:"); // Accessing the key/value pair of the // SortedDictionary Using foreach loop foreach(KeyValuePair<int, string> pair in My_sdict) { Console.WriteLine("Rank: {0} and Name: {1}", pair.Key, pair.Value); } } }
Top 5 space agencies 2018: Rank: 1 and Name: NASA Rank: 2 and Name: CNSA Rank: 3 and Name: ESA Rank: 4 and Name: Roscosmos Rank: 5 and Name: ISRO
A continuación se muestran algunas diferencias entre SortedList y SortedDictionary:
ListaOrdenada | OrdenadoDiccionario |
---|---|
La memoria de SortedList es una sobrecarga. | La memoria de SortedDictionary no tiene cuellos de botella. |
En SortedList, los elementos se almacenan en un bloque continuo en la memoria. | En SortedDictionary, los elementos se almacenan en objetos separados que pueden distribuirse por todo el montón. |
En SoterdList, la fragmentación de la memoria es alta. | En SoterdDictionary, la fragmentación de la memoria es baja. |
Requiere menos memoria para el almacenamiento. | Requiere más memoria para el almacenamiento. |
En SortedList, se requieren menos operaciones de inserción y eliminación. | En SortedDictionary, se requieren más operaciones de inserción y eliminación. |
En SortedList, puede acceder a los elementos usando el índice. | En SortedDictionary, puede acceder a los elementos mediante el índice o la clave. Aquí el acceso clave es suficiente, no hay necesidad de acceder a los elementos usando el índice. |
En SortedList, los datos ya están ordenados. | En SortedDictionary, los datos están en forma no ordenada. |
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