Curso de Java - Estrutura de dados - Parte 1

Aprenda as principais estruturas de dados no Java

Nível Iniciante Categoria Desenvolvimento Back-end

  • Curso com 05h38 de videos
  • Certificado com 18 horas
  • 31 exercícios
  • 8 desafios de código

Sobre o curso

Aprenda as principais estruturas de dados no Java

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.

O que irá aprender?

Neste curso abordaremos as principais estruturas de dados. São vídeo aulas e apostilas que mostram como implementar as principais estruturas de dados no Java. Também serão passados exercícios para que você possa fixar, praticar e aplicar o conteúdo aprendido.

Dentre várias outras coisas, você será capaz de:

  • Entender os princípios básicos do gerenciamento de memória pela JVM;
  • Criar arquivos de diferentes maneiras;
  • Conhecer estruturas de dados comuns, como vetores, listas, filas e pilhas;
  • Entender a implementação interna e as funcionalidades disponibilizadas pelos vetores, pelas listas, pelas pilhas e pelas filas;
  • Compreender as vantagens e desvantagens envolvidas na utilização de vetores, listas, filas e pilhas;
  • Entender as implementações-padrão do Java para vetores, listas, filas e pilhas.

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.

Quais os pré-requisitos para esse curso?

Os pré-requisitos não são obrigatórios, são apenas sugestões. Eles dão uma base de parte do conhecimento que é interessante ter para um bom aproveitamento nesse curso.

Metodologia

  • Videoaulas
  • Texto e imagens
  • Início Imediato
  • Desafios de código
  • Testes de aprendizado

Ambiente do curso

  • Java JDK 10 ou superior;
  • Eclipse Oxygen ou superior

Sobre o professor

Cleber Campomori

Cleber Campomori

Cleber é pós-graduado em Projeto e Desenvolvimento de Aplicações Web, além de Microsoft Specialist (HTML5/CSS3), Microsoft Certified Solutions Associate (MCSA) Web Applications e Microsoft Certified Solutions Developer (MCSD) Web Applications. Fascinado por Arquitetura de Software, Programação Funcional, Machine Learning e educação em geral. Também é conhecido como "o boladão".

Conteúdo programático

  1. Bem-vindo!

    Aula inaugural do curso

    4 aulas
    • Apresentação do curso
    • Introdução
    • O que são estruturas de dados?
    • Preparação do ambiente de desenvolvimento
  2. Gerência básica de memória pela JVM

    É de suma importância entendermos como a JVM gerencia as informações em memória. Nesta aula, vamos recapitular os conceitos envolvidos no processo de gerenciamento de memória, como os value-types, os reference-types, a stack e a heap.

    7 aulas
    • Apresentação
    • Criando o projeto do curso
    • Gerenciamento básico de memória na JVM: Value-Types e Reference-Types
    • Gerenciamento básico de memória na JVM: Stack e Heap
    • Gerenciamento básico de memória na JVM: Ponteiros e os métodos equals() e hashCode()
    • Questionário
    • Desafio de código
  3. Vetores

    Nesta aula, vamos ver a primeira estrutura de dados de nosso curso: os vetores

    15 aulas
    • Apresentação
    • Antes: o que são arrays?
    • Por que estamos falando de arrays?
    • Estruturas de Dados - vetores: conceitos básicos
    • Estruturas de Dados - vetores: encapsulando as funcionalidades de um vetor
    • Estruturas de Dados - vetores: criando estruturas genéricas
    • Estruturas de Dados - vetores: restrições na utilização de generics
    • Estruturas de Dados - vetores: criando a funcionalidade de inserção
    • Estruturas de Dados - vetores: criando a funcionalidade de inserção em uma posição específica
    • Estruturas de Dados - vetores: iterando sob um vetor
    • Estruturas de Dados - vetores: adicionando as funcionalidades contem() e indice()
    • Estruturas de Dados - vetores: adicionando a funcionalidade de remoção de elementos
    • Questionário
    • Desafio de código
    • Desafio de código
  4. Listas ligadas

    Nesta aula, vamos ver a implementação e o funcionamento interno das listas ligadas, outra estrutura de dados muito comum

    16 aulas
    • Apresentação
    • O que são listas ligadas?
    • Como as listas ligadas se comportam?
    • Estruturas de Dados - listas ligadas: definições de listas ligadas
    • Estruturas de Dados - listas ligadas: criando uma representação genérica para um nó
    • Estruturas de Dados - listas ligadas: criando a estrutura básica de uma lista ligada
    • Estruturas de Dados - listas ligadas: criando as funcionalidades de inserção, de retorno do tamanho e de verificação de existência de nós
    • Estruturas de Dados - listas ligadas: implementando o método toString() e conhecendo o StringBuilder
    • Estruturas de Dados - listas ligadas: criando as funcionalidades de inserção em uma posição e de recuperação de nós
    • Estruturas de Dados - listas ligadas: depurando o código e entendendo melhor a relação entre os nós de uma lista ligada
    • Estruturas de Dados - listas ligadas: implementando os métodos contem() e indice()
    • Estruturas de Dados - listas ligadas: implementando as funcionalidades de remoção
    • Estruturas de Dados - listas ligadas: conhecendo a classe LinkedList
    • Questionário
    • Desafio de código
    • Desafio de código
  5. Listas duplamente ligadas

    Nesta aula, vamos ver a implementação e o funcionamento interno das listas duplamente ligadas.

    8 aulas
    • Apresentação
    • O que são listas duplamente ligadas?
    • Estruturas de Dados - listas duplamente ligadas: conceitos básicos e primeiras implementações
    • Estruturas de Dados - listas duplamente ligadas: modificando os métodos de inserção
    • Estruturas de Dados - listas duplamente ligadas: modificando os métodos de remoção
    • Estruturas de Dados - listas duplamente ligadas: testando a lista duplamente ligada
    • Questionário
    • Desafio de código
  6. Pilhas

    Nesta aula, vamos ver a implementação e o funcionamento interno das pilhas.

    8 aulas
    • Apresentação
    • O que são pilhas?
    • Estruturas de Dados - pilhas: conceitos básicos
    • Estruturas de Dados - pilhas: implementando as funcionalidades de empilhamento e de verificação de existência de nós
    • Estruturas de Dados - pilhas: implementando a funcionalidade de desempilhamento
    • Estruturas de Dados - pilhas: testando a nossa estrutura de pilhas
    • Questionário
    • Desafio de código
  7. Filas

    Nesta aula, vamos ver a implementação e o funcionamento interno das filas.

    8 aulas
    • Apresentação
    • O que são filas?
    • Estruturas de Dados - filas: conceitos básicos
    • Estruturas de Dados - filas: definindo as funcionalidades a serem implementadas
    • Estruturas de Dados - filas: implementando as funcionalidades de enfileiramento, desenfileiramento e verificação de presença de nós
    • Estruturas de Dados - filas: testando a nossa estrutura de filas
    • Questionário
    • Desafio de código
Download da ementa

Cursos relacionados

Formação em que esse curso está inserido

Utilizada e amada por milhares! Veja mais opiniões reais

Plano de acesso total!

Tenha um ano de acesso completo a todos os cursos da plataforma, incluindo novos lançamentos, mentoria de carreira e suporte direto com os professores!

Um ano de acesso completo

Contrate agora e tenha acesso ilimitado a todo o nosso portfólio. Isso inclui:

  • 1 ano de acesso a todos os cursos
  • Cursos novos toda semana
  • Suporte direto com professores
  • Aplicativos para Android e iOS
  • Plano de carreira personalizado
  • Certificados digitais inclusos
  • Suporte com SLA de 4 horas úteis
  • Acesso offline através dos apps
R$ 97,00 ECONOMIZE R$ 360,00
12x R$ 67,00 ou R$ 804,00 à vista
Matricule-se agora
Garantia incondicional de satisfação
Garantia incondicional de satisfação

Confiamos tanto nos resultados dos nossos cursos, que criamos uma garantia incondicional de satisfação para você, que são 7 dias de teste!