List, Dictionary e HashSet em C#: Guia Prático de Coleções

📌 O que são Coleções?

Em C#, as coleções são estruturas que permitem armazenar, organizar e manipular conjuntos de dados de forma eficiente. Hoje vamos focar em três das mais usadas: List, Dictionary e HashSet.

1️⃣ List: Trabalhando com Listas Ordenadas

✅ O que é?

A List<T> é uma lista dinâmica que pode crescer ou diminuir conforme necessário. Ideal para quando você precisa acessar elementos por índice.

Exemplo prático:

List<int> numeros = new List<int>();

numeros.Add(10);

numeros.Add(20);

numeros.Add(30);

int primeiro = numeros[0]; // Retorna 10

foreach (int numero in numeros)

{

    Console.WriteLine(numero);

}

⭐ Vantagens:

  • Permite duplicatas
  • Preserva a ordem de inserção
  • Acesso rápido por índice

⚠️ Desvantagens:

  • Operações de busca podem ser lentas em listas grandes

2️⃣ Dictionary: Dados em Chave-Valor

✅ O que é?

O Dictionary<TKey, TValue> armazena pares de chave e valor. Acesso super rápido pela chave!

Exemplo prático:

Dictionary<string, int> estoque = new Dictionary<string, int>();

estoque.Add("Maçã", 100);

estoque.Add("Banana", 50);

if (estoque.ContainsKey("Maçã"))

{

    Console.WriteLine("Maçã está no estoque.");

}

foreach (var item in estoque)

{

    Console.WriteLine($"Produto: {item.Key}, Quantidade: {item.Value}");

}

⭐ Vantagens:

  • Altíssima performance para buscas
  • Chaves únicas

⚠️ Desvantagens:

  • Não permite chaves duplicadas
  • Ordem dos itens não garantida

3️⃣ HashSet: Conjunto de Itens Únicos

✅ O que é?

O HashSet<T> é uma coleção que só permite elementos únicos e não se preocupa com a ordem.

Exemplo prático:

HashSet<int> numerosUnicos = new HashSet<int>();

numerosUnicos.Add(1);

numerosUnicos.Add(2);

numerosUnicos.Add(1); // Ignorado, pois já existe

if (numerosUnicos.Contains(2))

{

    Console.WriteLine("O número 2 está presente.");

}

foreach (int numero in numerosUnicos)

{

    Console.WriteLine(numero);

}

⭐ Vantagens:

  • Operações super rápidas
  • Garante itens únicos

⚠️ Desvantagens:

  • Não mantém a ordem dos itens

🔎 Resumo: Quando Usar Cada Uma?

  • List: Quando você precisa de uma lista ordenada que pode ter itens repetidos.
  • Dictionary: Quando precisa mapear chaves únicas para valores e quer rapidez na busca.
  • HashSet: Quando precisa garantir que os itens não se repitam.

✅ Agora é a sua vez: pratique criando suas próprias coleções e testando os exemplos!

Comentários

Postagens mais visitadas