Curso de Java - Estrutura de dados - Parte 2 \| TreinaWeb             Promoção no ar   Matricule-se agora e garanta **54% de desconto**  

  Termina em   Tempo restante da oferta: 16 Horas 

 10 Min 

 36 Seg 

   Tempo restante da oferta: 16 10 36 

  [Assinar →](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26) 

   [                ](https://www.treinaweb.com.br)  Explorar  

 [ Quanto custa? ](#assinatura) [ FAQ ](#faq) [Matricule-se](#assinatura) [ Entrar ](https://www.treinaweb.com.br/login) 

    [ Início ](https://www.treinaweb.com.br) [ Cursos ](https://www.treinaweb.com.br/cursos) [ Back-end ](https://www.treinaweb.com.br/categoria/desenvolvimento-back-end) Java - Estrutura de dados - Parte 2   Curso 

# Java - Estrutura de dados - Parte 2

Aprenda a trabalhar com mapas e árvores no Java

  ![](https://d1s1vlotnxklap.cloudfront.net/professores/cleber-campomori.webp)   [ Cleber Campomori ](https://www.treinaweb.com.br/professor/cleber-campomori) Instrutor  

  ![](https://d2knvm16wkt3ia.cloudfront.net/treinaweb/cursos/og/java-estrutura-dados-parte2.png)   Assista à apresentação  Assistir: Apresentação: Java - Estrutura de dados - Parte 2  

- 04h15 de vídeos
- 49 aulas
- 18 exercícios
- Certificado de 14 horas
- Iniciante

 **+200 mil alunos** já aceleraram a carreira aqui, com **professores que atuam no mercado**

## Acesso completo a todos os cursos e dezenas de Formações.

 12 meses 

  Economize R$ 840,00  54% OFF 

 de 12x R$ 129,00 por apenas

 12x  R$ 59,00

 sem juros no cartão de crédito ou R$ 599,00 à vista

  Oferta termina em  **16h 10min 36s**

- Acesso imediato e ilimitado durante 1 ano.
- Plano de carreira personalizado.
- Suporte direto com professores.
- E muito mais!

 [Matricule-se agora](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26)

  Visão geral

## Sobre o curso

Armazenar conjuntos de dados pode ser um desafio e tanto em qualquer linguagem de programação, já que somos obrigados a pensar o tempo inteiro em maneiras otimizadas de manipulação desta sequência de informações, quer seja a respeito de recursos espaciais (como o hardware) ou a respeito de recursos temporais (a velocidade).

Para ajudar neste processo, existem algumas fórmulas que podem resolver os problemas temporais, os problemas espaciais, ou até mesmo ambos. A estas estruturas, damos o nome de estruturas de dados.

É de extrema importância para desenvolvedores conhecerem as principais estruturas de dados. Conhecendo estas estruturas, os desenvolvedores se tornam capazes de escolher a estrutura de dados mais adequada para cada uma das situações corriqueiras que envolvem a manipulação de conjuntos de informações.

Na segunda parte de nosso curso de Estrutura de Dados, iremos aprender sobre estruturas de dados mais complexas: os sets, as tabelas de espalhamento, os mapas e as árvores binárias.

### Pra quem é esse curso?

Este curso é destinado a estudantes e desenvolvedores que desejam aprofundar seus estudos no Java e desejam compreender melhor o funcionamento, as vantagens e as desvantagens das estruturas de dados mais comuns no dia-a-dia.

   Competências

## O que irá aprender?

- Compreender o funcionamento e a justificativa para a existência dos conjuntos (ou sets), além de realizar a implementação das funcionalidades básicas de um conjunto;
- Entender a importância das tabelas de espalhamento, além de compreender a implementação das mesmas;
- Implementar e compreender plenamente o funcionamento de mapas e outras estruturas associativas;
- Entender a importância de árvores binárias em várias soluções modernas de software;
- Implementar as funcionalidades básicas de inserção e busca em árvores binárias;
- Compreender os algoritmos clássicos de travessia em árvores binárias;
- Compreender a implementação de algoritmos recursivos de diferentes naturezas.

   Antes de começar

## Pré-requisitos sugeridos

 Não são obrigatórios — apenas sugestões de base para você tirar mais proveito do curso.

 [  ![](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/logica-de-programacao.svg)    **Lógica de Programação Completo**   36h · Iniciante   ](https://www.treinaweb.com.br/curso/logica-de-programacao) [  ![](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/logica-oo.svg)    **Lógica Orientada a Objetos Completo**   24h · Iniciante   ](https://www.treinaweb.com.br/curso/logica-orientada-a-objetos) [  ![](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/java.svg)    **Java - Fundamentos**   16h · Iniciante   ](https://www.treinaweb.com.br/curso/java-fundamentos) [  ![](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/java.svg)    **Java - Orientação a objetos**   22h · Iniciante   ](https://www.treinaweb.com.br/curso/java-orientacao-a-objetos) [  ![](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/java.svg)    **Java - Estrutura de dados - Parte 1**   18h · Iniciante   ](https://www.treinaweb.com.br/curso/java-estrutura-de-dados-parte-1) 

   Ementa completa

## Conteúdo programático

 6 módulos, 49 aulas e 18 exercícios , num total de 04h15 de vídeo .

    01   Bem-vindo!   5 aulas  

- Apresentação do curso
- Introdução
- Relembrando: o que são estruturas de dados?
- Preparação do ambiente de desenvolvimento
- O código-fonte deste curso está no GitHub!

     02   Sets   10 aulas  

- Apresentação
- O que são os sets?
- Importando o projeto da primeira parte do curso
- Definindo o que é um set (ou conjunto)
- Iniciando a implementação de um set ou conjunto
- Testando a implementação do set ou conjunto
- Otimizando o método de inserção
- Questionário
- Como funcionam os desafios?
- Desafio de Código

     03   Tabelas de espalhamento   9 aulas  

- Apresentação
- O que são as tabelas de espalhamento?
- Definindo o que são tabelas de espalhamento ou dispersão
- Iniciando a implementação de uma tabela de espalhamento
- Definindo a funcionalidade de inserção em uma tabela de espalhamento
- Implementando as funcionalidades de remoção e de verificação de existência de elementos em uma tabela de espalhamento
- Otimizando a estrutura de dados de sets com tabelas ds espalhamento
- Questionário
- Desafio de Código

     04   Mapas e associação de elementos   10 aulas  

- Apresentação
- O que são os mapas?
- Definindo o que são mapas
- Definindo a estrutura associativa
- Otimizando mapas com tabelas de espalhamento
- Implementando a pesquisa por chaves e remoção de elementos
- Inserindo e recuperando valores de um mapa
- Testando a nossa implementação de mapa
- Questionário
- Desafio de Código

     05   Árvores   14 aulas  

- Apresentação
- O que são árvores binárias?
- Definindo a estrutura mais básica de uma árvore binária: o nó
- Inserção de nós e definição da raiz de uma árvore binária
- Implementando algoritmos recursivos no processo de inserção de nós em uma árvore binária
- Verificando o funcionamento da inserção de nós em nossa implementação de árvore binária
- Entendendo de uma vez por todas um algoritmo recursivo
- Implementando uma busca recursiva em árvores binárias
- Travessia de árvores binárias: algoritmo "em ordem"
- Travessia de árvores binárias: algoritmo "pré ordem"
- Travessia de árvores binárias: algoritmo "pós ordem"
- Calculando a altura de uma árvore binária
- Questionário
- Desafio de Código

     06   Conclusão   1 aula  

- Conclusão

 [ Download da ementa ](https://www.treinaweb.com.br/curso/java-estrutura-de-dados-parte-2/ementa/java-estrutura-de-dados-parte-2.pdf) 

   Depoimentos de alunos

## Utilizada e amada por milhares de desenvolvedores.

  ![](https://d32nikm1p4rl61.cloudfront.net/bb57c6070cd707d8244968c517f76019.png)   Willian  Campos dos Goytacazes / RJ · Java - Estrutura de dados - Parte 2  

 Avaliação: 5 de 5 estrelas.

 “Um dos cursos mais difícil até agora. Mas muito didático, gostei!”

   ![](https://d32nikm1p4rl61.cloudfront.net/bxsc9pXXIxyz6WDz0mZUCM8nexwLgsvJ.png)   Gianfranco  São Paulo / SP · Java - Estrutura de dados - Parte 2  

 Avaliação: 5 de 5 estrelas.

 “Muito bom. Já tinha visto estrutura de dados em outras linguagens. Foi bom rever.”

   ![](https://d32nikm1p4rl61.cloudfront.net/usYPpfvNrt9AmuCO9XS02yVM9xDsztYu.png)   José  São Paulo / SP · Java - Estrutura de dados - Parte 2  

 Avaliação: 5 de 5 estrelas.

 “Muito bom.”

 [ Veja mais opiniões reais ](https://www.treinaweb.com.br/depoimentos) 

## Comece este curso ainda hoje.

 04h15 de vídeo, 18 exercícios, certificado de 14 horas — mais todos os outros cursos e formações da TreinaWeb na mesma assinatura.

 [Quero assinar](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26) 

  Continue aprendendo

## Conteúdos relacionados

- ![](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/java.svg)  Iniciante  

     Curso · 16h

    ###  [ Java - Fundamentos ](https://www.treinaweb.com.br/curso/java-fundamentos "Java - Fundamentos") 

    Ver curso →
- ![](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/javascript.svg)  Iniciante  

     Curso · 22h

    ###  [ JavaScript - Fundamentos ](https://www.treinaweb.com.br/curso/javascript-fundamentos "JavaScript - Fundamentos") 

    Ver curso →
- ![](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/java.svg)  Intermediário  

     Curso · 10h

    ###  [ Java - Fundamentos de JAX-WS e JAX-RS ](https://www.treinaweb.com.br/curso/java-fundamentos-de-jax-ws-e-jax-rs "Java - Fundamentos de JAX-WS e JAX-RS") 

    Ver curso →
- ![](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/java.svg)  Avançado  

     Curso · 14h

    ###  [ Java - Fundamentos de Struts 2 ](https://www.treinaweb.com.br/curso/java-fundamentos-struts2 "Java - Fundamentos de Struts 2") 

    Ver curso →
- ![](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/java.svg)  Intermediário  

     Curso · 14h

    ###  [ Java - Fundamentos de JavaFx ](https://www.treinaweb.com.br/curso/java-fundamentos-de-javafx "Java - Fundamentos de JavaFx") 

    Ver curso →
- ![](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/java.svg)  Intermediário  

     Curso · 12h

    ###  [ Java - Fundamentos para Web ](https://www.treinaweb.com.br/curso/java-fundamentos-para-web "Java - Fundamentos para Web") 

    Ver curso →
- ![](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/java.svg)  Intermediário  

     Curso · 6h

    ###  [ Java - Testes unitários com JUnit 5 ](https://www.treinaweb.com.br/curso/java-testes-unitarios-com-junit-5 "Java - Testes unitários com JUnit 5") 

    Ver curso →
- ![](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/java.svg)  Iniciante  

     Curso · 12h

    ###  [ Java - Collections - Parte 2 ](https://www.treinaweb.com.br/curso/java-collections-parte-2 "Java - Collections - Parte 2") 

    Ver curso →

   Trilhas completas

## Formações que incluem este conteúdo

- Formação  ![](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/java.svg) 

     Back-end

    ###  [ Desenvolvedor Java ](https://www.treinaweb.com.br/formacao/desenvolvedor-java "Desenvolvedor Java") 

    A formação Desenvolvedor Java da TreinaWeb tem como objetivo apresentar o desenvolvimento através do Java e todo o ecossistema para desenvolvimento da Oracle. Nesta formação, são desde tópicos básicos como o paradigma orientado a objetos, a preparação do ambiente de desenvolvimento para o Java através do Eclipse e o controle de versão de código através do Git e do GitHub. Até aspectos mais avançados como acesso a bancos de dados relacionais e o desenvolvimento de aplicações web com o Java.

      27 cursos   83h06 de vídeos

## Um ano de acesso total para você viver de programação.

 Todos os cursos e formações da TreinaWeb numa única assinatura, com professores que atuam no mercado, suporte direto e certificados. Do primeiro `console.log` ao mercado de trabalho.

- **1 ano** de acesso a **todos os cursos**
- Cursos novos **toda semana**
- Suporte **direto com professores**
- Plano de carreira **personalizado**
- **Certificados digitais** inclusos
- **Aplicativos** para Android e iOS, com **acesso offline**

    **Garantia incondicional de satisfação** 

 Teste por 7 dias e, se não fizer sentido para você, devolvemos seu dinheiro.

### Acesso completo a todos os cursos e dezenas de Formações.

 12 meses 

  Economize R$ 840,00  54% OFF 

 de 12x R$ 129,00 por apenas

 12x  R$ 59,00

 sem juros no cartão de crédito ou R$ 599,00 à vista

  Oferta termina em  **16h 10min 36s**

- Acesso imediato e ilimitado durante 1 ano.
- Plano de carreira personalizado.
- Suporte direto com professores.
- E muito mais!

 [Matricule-se agora](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26)

    Ainda tem alguma dúvida?

## Antes de começar, veja o que você precisa saber.

 Não encontrou a sua pergunta aqui? Fale com a nossa equipe antes de decidir — é para isso que ela está lá.

 [Falar com a equipe →](https://www.treinaweb.com.br/contato)    Estou começando do zero. A TreinaWeb é para mim? 

Sim. A plataforma possui conteúdos para quem está dando os primeiros passos em programação, incluindo fundamentos e formações organizadas para ajudar você a avançar progressivamente.

Se você ainda não programa, recomendamos começar pelas bases antes de entrar em conteúdos mais avançados de IA aplicada ao desenvolvimento.

   Já sou desenvolvedor. Vou encontrar conteúdo para mim? 

Sim. Além dos conteúdos fundamentais, a TreinaWeb possui formações, cursos intermediários e avançados, frameworks, arquitetura, infraestrutura e uma formação dedicada à aplicação de IA no desenvolvimento.

   A TreinaWeb tem cursos de Inteligência Artificial para desenvolvedores? 

Sim. A Formação IA para Devs reúne conteúdos sobre ferramentas e conceitos utilizados no desenvolvimento assistido por IA, incluindo GitHub Copilot, Cursor, Claude Code, Gemini CLI, MCP, Prompt Engineering, n8n e outros recursos.

   Preciso saber programar para fazer a Formação IA para Devs? 

A Formação IA para Devs é especialmente indicada para quem já possui conhecimentos de programação.

Se você ainda está começando, pode primeiro desenvolver sua base com os cursos e formações de programação disponíveis na própria TreinaWeb e depois avançar para IA.

   Tenho acesso a todos os cursos? 

Sim. Durante o período da assinatura, você tem acesso aos cursos e formações contemplados pelo plano anual da TreinaWeb.

   Por quanto tempo tenho acesso? 

O plano apresentado nesta página oferece 12 meses de acesso à plataforma.

   Existe uma ordem recomendada para estudar? 

Sim. As formações e planos de carreira ajudam você a organizar o aprendizado e entender quais conteúdos fazem mais sentido para cada etapa.

   Posso tirar dúvidas? 

Sim. A assinatura inclui os canais de suporte disponibilizados pela TreinaWeb para que você possa esclarecer dúvidas relacionadas aos conteúdos estudados.

   Os cursos possuem certificado? 

Sim. Os certificados digitais dos cursos concluídos estão incluídos na assinatura, de acordo com as regras de conclusão da plataforma.

   Posso estudar pelo celular? 

Sim. A TreinaWeb possui aplicativos para Android e iOS e oferece recursos de acesso offline pelo aplicativo.

   A TreinaWeb lança novos cursos? 

Sim. Novos conteúdos são adicionados regularmente à plataforma para acompanhar a evolução das tecnologias e ferramentas utilizadas no desenvolvimento.

   Como funciona a garantia? 

Você possui 7 dias de garantia para conhecer a plataforma. Caso decida que a TreinaWeb não atende às suas expectativas dentro desse período, poderá solicitar o reembolso conforme as condições da garantia.

## Comece hoje a programar com IA ao seu lado.

 [Matricule-se agora](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26) 

   [                ](https://www.treinaweb.com.br)

 Escola online de programação, tecnologia e IA.

- [  ](https://www.facebook.com/TreinaWeb/)
- [  ](https://www.instagram.com/treinaweb/)
- [  ](https://www.youtube.com/user/TreinaWeb)
- [  ](https://twitter.com/treinaweb)
- [  ](https://www.linkedin.com/company/treinaweb)
- [  ](https://github.com/treinaweb)

## Inscreva-se em nossa newsletter

Receba lançamentos, promoções e novidades.

   Seu nome     Seu WhatsApp     Seu melhor e-mail   Inscrever-se 

## Cursos

- [ Base para Devs ](https://www.treinaweb.com.br/categoria/base-para-devs)
- [ Front-end ](https://www.treinaweb.com.br/categoria/desenvolvimento-front-end)
- [ Back-end ](https://www.treinaweb.com.br/categoria/desenvolvimento-back-end)
- [ Mobile ](https://www.treinaweb.com.br/categoria/desenvolvimento-mobile)
- [ Bancos de Dados ](https://www.treinaweb.com.br/categoria/bancos-de-dados)
- [ Cloud ](https://www.treinaweb.com.br/categoria/cloud-computing)
- [ IA ](https://www.treinaweb.com.br/categoria/ia)
- [ E mais ](https://www.treinaweb.com.br/categoria/e-mais)
- [ Ver todos os cursos ](https://www.treinaweb.com.br/cursos)

## Conteúdo

- [ Formações ](https://www.treinaweb.com.br/formacoes)
- [ Projetos práticos ](https://www.treinaweb.com.br/projetos-praticos)
- [ Direto ao ponto ](https://www.treinaweb.com.br/direto-ao-ponto)
- [ Planos ](https://www.treinaweb.com.br#assinatura)
- [ Depoimentos ](https://www.treinaweb.com.br#depoimentos)
- [ Comunidade ](https://www.treinaweb.com.br#comunidade)
- [ Corpo docente ](https://www.treinaweb.com.br#docente)

## A empresa

- [ Sobre a TreinaWeb ](https://www.treinaweb.com.br#sobre)
- [ Perguntas frequentes ](https://www.treinaweb.com.br#faq)
- [ Vantagens de estudar na TreinaWeb ](https://www.treinaweb.com.br/vantagens-de-estudar-na-treinaweb)
- [ Cursos para empresas ](https://www.treinaweb.com.br/empresas)
- [ Sugira um novo curso ](https://www.treinaweb.com.br/sugerir-curso)
- [ Trabalhe conosco ](https://www.treinaweb.com.br/trabalhe-conosco)
- [ Artigos ](https://www.treinaweb.com.br/blog)
- [ Desenvolvedores e agentes ](https://www.treinaweb.com.br/developers)
- [ Contato ](https://www.treinaweb.com.br/contato)
- [ Política de privacidade ](https://www.treinaweb.com.br/politica-de-privacidade)
- [ Termos de uso ](https://www.treinaweb.com.br/termos-de-uso)

## Baixe nosso aplicativo

 [   Disponível na **App Store**  ](https://apps.apple.com/us/app/treinaweb/id1322729447) [   Disponível no **Google Play**  ](https://play.google.com/store/apps/details?id=br.com.treinaweb.mobile) 

  Av. Paulista, 1765, Conj 71 e 72 · Bela Vista · São Paulo · SP · 01311-200   © 2004 – 2026 TreinaWeb Tecnologia LTDA · CNPJ 06.156.637/0001-58
