0Pricing
C# Academy · Lección

HashSet<T>, SortedSet<T>, Queue<T> y Stack<T>

Comprenda la diferencia entre conjuntos de elementos únicos y conjuntos ordenados, así como las colecciones FIFO/LIFO; practique Add/Contains, Enqueue/Dequeue y Push/Pop.

HashSet<T>, SortedSet<T>, Queue<T> y Stack<T> es una lección gratuita de C# Academy en CoddyKit. Esta es la lección 1 de 3. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de C# Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de C# Academy incluye 3 lecciones en total.

Tipos de colecciones

Objetivo: elija la colección adecuada.

  • HashSet<T>: valores únicos y búsquedas rápidas
  • SortedSet<T>: valores únicos y ordenados
  • Queue<T>: FIFO
  • Stack<T>: LIFO

Conceptos básicos de HashSet

HashSet<T> conserva valores únicos; Add devuelve false si el valor está duplicado; Contains es rápido.

using System;
using System.Collections.Generic;

public class Program
{
  public static void Main(string[] args)
  {
    HashSet<string> tags = new HashSet<string>();
    bool a1 = tags.Add("red");   // true
    bool a2 = tags.Add("blue");  // true
    bool a3 = tags.Add("red");   // false (duplicate ignored)

    Console.WriteLine("Has red? " + tags.Contains("red"));
    Console.WriteLine("Count = " + tags.Count); // 2
  }
}

Conceptos básicos de SortedSet

SortedSet<T> conserva los elementos únicos y ordenados a medida que los añade.

using System;
using System.Collections.Generic;

public class Program
{
  public static void Main(string[] args)
  {
    SortedSet<int> scores = new SortedSet<int>();
    scores.Add(30);
    scores.Add(10);
    scores.Add(20);
    scores.Add(20); // duplicate ignored

    foreach (int s in scores)
    {
      Console.WriteLine(s); // 10, 20, 30 (sorted ascending)
    }

    Console.WriteLine("Min = " + (scores.Count > 0 ? scores.Min : 0));
    Console.WriteLine("Max = " + (scores.Count > 0 ? scores.Max : 0));
  }
}

Queue (FIFO)

Queue<T> es FIFO: Enqueue → Dequeue. Utilice Peek para consultar sin eliminar.

using System;
using System.Collections.Generic;

public class Program
{
  public static void Main(string[] args)
  {
    Queue<string> q = new Queue<string>();
    q.Enqueue("A");
    q.Enqueue("B");
    q.Enqueue("C");

    Console.WriteLine("Peek = " + q.Peek()); // A
    Console.WriteLine(q.Dequeue());          // A
    Console.WriteLine(q.Dequeue());          // B
    Console.WriteLine("Count = " + q.Count); // 1
  }
}

Stack (LIFO)

Stack<T> es LIFO: Push → Pop. Peek consulta el elemento superior.

using System;
using System.Collections.Generic;

public class Program
{
  public static void Main(string[] args)
  {
    Stack<int> st = new Stack<int>();
    st.Push(1);
    st.Push(2);
    st.Push(3);

    Console.WriteLine("Peek = " + st.Peek()); // 3
    Console.WriteLine(st.Pop());              // 3
    Console.WriteLine(st.Pop());              // 2
    Console.WriteLine("Count = " + st.Count); // 1
  }
}

Consejos para elegir

Guía rápida:

  • Necesita valores únicos y búsquedas rápidas → HashSet<T>
  • Necesita valores únicos y ordenados → SortedSet<T>
  • Procesa en orden de llegada → Queue<T> (FIFO)
  • Procesa primero el último en llegar → Stack<T> (LIFO)

Elección del conjunto

Comprobación rápida: ¿qué colección garantiza elementos únicos y proporciona búsquedas rápidas por valor en tiempo medio?

Resumen

Resumen: utilice conjuntos para garantizar la unicidad (HashSet, SortedSet) y elija FIFO (Queue) o LIFO (Stack) para el procesamiento ordenado.

Preguntas frecuentes

¿La lección «HashSet<T>, SortedSet<T>, Queue<T> y Stack<T>» es gratis?

Sí — el texto completo de «HashSet<T>, SortedSet<T>, Queue<T> y Stack<T>» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de C# Academy, actualiza a CoddyKit PRO. El curso de C# Academy incluye 3 lecciones en total.

¿Qué aprenderé en «HashSet<T>, SortedSet<T>, Queue<T> y Stack<T>»?

Comprenda la diferencia entre conjuntos de elementos únicos y conjuntos ordenados, así como las colecciones FIFO/LIFO; practique Add/Contains, Enqueue/Dequeue y Push/Pop. Practicas C# Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar C# Academy?

No se requiere experiencia previa. C# Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 3.

¿Cuánto tiempo toma la lección «HashSet<T>, SortedSet<T>, Queue<T> y Stack<T>»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de C# Academy?

Sí. Cada lección de C# Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. HashSet , SortedSet , Queue y Stack
  2. ConcurrentDictionary y colecciones inmutables
  3. Igualdad y hashing (por valor frente a por referencia)
← Volver a C# Academy