Las “listas ordenadas” (SortedList)

SortedList

En un SortedList, los elementos están formados por una pareja: una clave y un valor. Se puede añadir elementos con “Add”, o acceder a los elementos mediante su índice numérico (con “GetKey”) o mediante su clave (sabiendo en qué posición se encuentra una clave con “IndexOfKey”).

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;

namespace EjemploSortedList
{
    class Program
    {
        static void Main(string[] args)
        {
            SortedList miSortedList = new SortedList();
            miSortedList.Add("Tierra","Earth");
            miSortedList.Add("Sol","Sun");
            miSortedList.Add("Moon","Luna");

            // Mostramos los datos 
            Console.WriteLine("Cantidad de palabras en la lista ordenada: {0}",miSortedList.Count);
            Console.WriteLine("Lista de palabras y su significado:");
            for (int i = 0; i < miSortedList.Count; i++)
            {
                Console.WriteLine("{0} = {1}",
                miSortedList.GetKey(i), miSortedList.GetByIndex(i));
            }
            Console.WriteLine("Traducción de \"Tierra\": {0}",
            miSortedList.GetByIndex(miSortedList.IndexOfKey("Tierra")));
            Console.WriteLine("Que también se puede obtener con corchetes: {0}",
            miSortedList["Tierra"]); 

            Console.ReadKey();
        }
    }
}

Otros métodos y propiedades de SortedList:

  • Contains“, para ver si la lista contiene una cierta clave.
  • ContainsValue“, para ver si la lista contiene un cierto valor.
  • Remove“, para eliminar un elemento a partir de su clave.
  • RemoveAt“, para eliminar un elemento a partir de su posición.
  • SetByIndex“, para cambiar el valor que hay en una cierta posición.

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;

namespace EjemploSortedList
{
    class Program
    {
        static void Main(string[] args)
        {
            SortedList miSortedList = new SortedList();
            miSortedList.Add("Tierra", "Earth");
            miSortedList.Add("Sol", "Sun");
            miSortedList.Add("Luna", "Moon");
            miSortedList.Add("Marte", "Marting");
            // Esto daría error en TIEMPO DE EJECUCIÓN.
            //miSortedList.Add("Marte", "Martineison");
            miSortedList.Add("Neptuno", "Neptuning");

            // Mostramos los datos 
            Console.WriteLine("Cantidad de palabras en la lista ordenada: {0}", miSortedList.Count);
            Console.WriteLine("Lista de palabras y su significado:");
            for (int i = 0; i < miSortedList.Count; i++)
            {
                Console.WriteLine("{0} = {1}",
                miSortedList.GetKey(i), miSortedList.GetByIndex(i));
            }
            Console.WriteLine("Traducción de \"Tierra\": {0}",
            miSortedList.GetByIndex(miSortedList.IndexOfKey("Tierra")));
            Console.WriteLine("Que también se puede obtener con corchetes: {0}",
            miSortedList["Tierra"]);

            // Borrado de Marte
            miSortedList.Remove("Marte");
            Console.WriteLine("Después de borrar Marte");
            for (int i = 0; i < miSortedList.Count; i++)
            {
                Console.WriteLine("{0} = {1}",
                miSortedList.GetKey(i), miSortedList.GetByIndex(i));
            }


            Console.ReadKey();
        }
    }
}