Estrutura de Dados – Dicionário

Junto com algoritmos, estrutura de dados é um tema fundamental para a formação de qualquer desenvolvedor, independente da linguagem.

Nessa série, vou discutir algumas estruturas de dados, e mostrar as implementações disponibilizadas em .NET e seu uso de maneira prática.

Mas antes de começarmos com tudo, peço para que leia bem o tópico a seguir. Pode ser útil!

O que muitos desenvolvedores pensam de algoritmos e estruturas de dados

Já escutei muitos desenvolvedores perguntando: porque tenho que estudar todas essas coisas complicadas? Eu nunca vou utilizá-las no mundo real! Pode não ser o seu caso, mas arrisco dizer que as chances são grandes de que você tenha escutado algo desse tipo na universidade ou ambiente de trabalho.

É muito comum desenvolvedores de todos os níveis evitarem estudar sobre algoritmos e estruturas de dados, por acharem que eles são muito complicados e não vão usar em seus trabalhos. Mas a grande questão é, utilizamos eles em nosso dia a dia, mesmo sem notar.

Um grande exemplo é o de busca em uma agenda telefônica física. Temos o nome da empresa, e então buscamos já a partir do meio da agenda. Se na página atual tiver empresas começando com letra maior do que o que buscamos, devemos buscar na parte anterior. Se não, buscamos na parte posterior da agenda. Essa pessoa acabou de usar o algoritmo de busca binária (Binary Search) sem nem saber!

Além desse exemplo, existem muitos outros que usamos no dia a dia e que mostram que ter essas habilidades não são úteis somente em uma entrevista de emprego. Eles ajudam a resolver problemas do mundo real.

Comecei com isso porque é um tema que gosto, mas que noto que muitos desenvolvedores negligenciam. Tem uma razão pela qual é recomendado começar os estudos em programação por algoritmos e estruturas de dados. E eu já vi muitos exemplos de pessoas que não conseguiam resolver problemas simples de lógica em código por não conhecerem algoritmos ou estruturas de dados adequados para o problema em mãos.

Introdução

A estrutura de dados Dicionário é uma das mais importantes e utilizadas na programação, especialmente no contexto do desenvolvimento em C# e .NET. Um dicionário é uma coleção de pares chave-valor, onde cada chave é única e associada a um valor específico. Esse tipo de estrutura permite armazenar e acessar valores de forma rápida e eficiente, com base em suas chaves, ao invés de percorrer a coleção inteira.

Principais Operações

As principais operações que um dicionário suporta são:

  1. Inserir um par chave-valor
  2. Remover um par chave-valor
  3. Atualizar o valor associado a uma chave
  4. Verificar se uma chave está presente no dicionário
  5. Acessar o valor associado a uma chave

Implementação de Dicionário no .NET e Principais Métodos

No .NET Framework, a classe Dictionary<TKey, TValue> é a implementação padrão de um dicionário. Essa classe está disponível no namespace System.Collections.Generic e fornece diversos métodos úteis para manipular dicionários. Alguns dos métodos mais importantes incluem:

  • Add(TKey key, TValue value): Adiciona um par chave-valor ao dicionário
  • Remove(TKey key): Remove o par chave-valor com a chave especificada
  • TryGetValue(TKey key, out TValue value): Tenta obter o valor associado à chave especificada e retorna um valor booleano indicando o sucesso da operação
  • ContainsKey(TKey key): Verifica se o dicionário contém a chave especificada
  • Clear(): Remove todos os pares chave-valor do dicionário

Exemplo Prático

A seguir, um exemplo de como utilizar a estrutura de dados Dicionário em uma aplicação Console:

Exemplo completo de uso de Dictionary

Como “bônus”, mostrei formas de inicializar o dicionário tanto vazio quanto já preenchido, com duas abordagens para o último.


Quer alavancar sua carreira como Desenvolvedor .NET?

Além de Desenvolvedor .NET Sênior, eu sou instrutor de mais de 700 alunos e também tenho dezenas de mentorados.

Conheça o Método .NET com mais de 800 video-aulas em diversos cursos sobre C# e desenvolvimento de APIs com ASP NET Core, Microsserviços com ASP NET Core, Arquitetura de Software, Computação em Nuvem, SQL, HTML, CSS e JavaScript, JavaScript Intermediário, TypeScript, Desenvolvimento Front-End com Angular, e Desenvolvimento Front-end com React. 

Diversos mini-cursos disponíveis aos alunos e atualizações gratuitas.

Suporte dedicado, e comunidade de centenas de alunos.

Completo e online, destinado a profissionais que querem dar seu próximo passo em sua carreira como desenvolvedores .NET.

Clique aqui para ter mais informações e garantir sua vaga


Conclusão

A estrutura de dados Dicionário é um recurso valioso no desenvolvimento de aplicações .NET, proporcionando acesso eficiente aos valores por meio de chaves únicas e facilitando a manipulação de conjuntos de dados. É comum de ser utilizada tanto para processamentos de dados quanto para mapeamentos de-para constantes.

A classe Dictionary<TKey, TValue> oferece uma implementação robusta e prática de dicionário no .NET Framework, permitindo aos desenvolvedores gerenciar e utilizar dicionários com facilidade e eficiência.

Te vejo no próximo artigo!