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
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
- HashSet , SortedSet , Queue y Stack
- ConcurrentDictionary y colecciones inmutables
- Igualdad y hashing (por valor frente a por referencia)