HashSet<T>, SortedSet<T>, Queue<T>, Stack<T>
Entenda conjuntos de itens únicos versus conjuntos ordenados e coleções FIFO/LIFO; pratique Add/Contains, Enqueue/Dequeue e Push/Pop.
HashSet<T>, SortedSet<T>, Queue<T>, Stack<T> é uma aula grátis de C# Academy no CoddyKit. Esta é a aula 1 de 3. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de C# Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de C# Academy inclui 3 aulas no total.
Formatos das coleções
Objetivo: escolha a coleção adequada.
- HashSet<T>: valores únicos, pesquisa rápida
- SortedSet<T>: valores únicos e ordenados
- Queue<T>: FIFO
- Stack<T>: LIFO
Noções básicas de HashSet
HashSet<T> mantém valores únicos; Add devolve false para duplicados; Contains é 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
}
}
Noções básicas de SortedSet
SortedSet<T> mantém os itens únicos e ordenados à medida que são adicionados.
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> segue o princípio FIFO: Enqueue → Dequeue. Utilize Peek para consultar sem remover.
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> segue o princípio LIFO: Push → Pop. Peek consulta o item no topo.
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
}
}
Dicas para escolher
Guia rápido:
- Precisa de valores únicos e pesquisa rápida → HashSet<T>
- Precisa de valores únicos e ordenados → SortedSet<T>
- Processa pela ordem de chegada → Queue<T> (FIFO)
- Processa começando pelo último → Stack<T> (LIFO)
Escolha do conjunto
Recapitulação
Recapitulação: utilize conjuntos para garantir a unicidade (HashSet, SortedSet) e escolha FIFO (Queue) ou LIFO (Stack) para o processamento ordenado.
Perguntas Frequentes
A aula “HashSet<T>, SortedSet<T>, Queue<T>, Stack<T>” é grátis?
Sim — o texto completo de “HashSet<T>, SortedSet<T>, Queue<T>, Stack<T>” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de C# Academy, atualize para CoddyKit PRO. O curso de C# Academy inclui 3 aulas no total.
O que vou aprender em “HashSet<T>, SortedSet<T>, Queue<T>, Stack<T>”?
Entenda conjuntos de itens únicos versus conjuntos ordenados e coleções FIFO/LIFO; pratique Add/Contains, Enqueue/Dequeue e Push/Pop. Você pratica C# Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar C# Academy?
Nenhuma experiência prévia é necessária. C# Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 3.
Quanto tempo leva a aula “HashSet<T>, SortedSet<T>, Queue<T>, Stack<T>”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de C# Academy?
Sim. Cada aula de C# Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- HashSet , SortedSet , Queue , Stack
- ConcurrentDictionary , coleções imutáveis
- Igualdade e hashing (valor versus referência)