CodeGym
Promoção
Aprendizagem
Cursos
Tarefas
Pesquisas & Questionários
Jogos
Ajuda
Cronograma
Comunidade
Usuários
Fórum
Chat
Artigos
Histórias de sucesso
Atividade
Avaliações
Assinaturas
Tema claro

Aulas

  • Avaliações
  • Sobre nós
Iniciar
Comece a aprender
Comece a aprender agora
  • Meu progresso
  • Cursos
  • Mapa da Missão
  • Aulas
  • Set: HashSet e TreeSet, unicidade dos elementos

    JAVA 25 SELF
    Nível 26,Aula 3
    Nesta aula analisamos a interface Set em Java: em que ela difere de List, como a unicidade dos elementos é garantida, como funcionam as implementações HashSet (rápida, sem ordem) e TreeSet (ordenada), e quando escolher cada estrutura. Vamos considerar nuances importantes sobre equals() e hashCode(), trabalhar com null, exemplos de tarefas típicas (remoção de duplicatas, verificação de unicidade) e erros frequentes.
    Disponível
  • Generics: por que são necessários, sintaxe básica

    JAVA 25 SELF
    Nível 26,Aula 4
    Vamos passar de coleções “brutas” para código com segurança de tipos. Na aula, analisamos por que, antes do surgimento dos generics, coleções baseadas em Object levavam a erros em tempo de execução ( ClassCastException), como os generics resolvem isso na fase de compilação, como ler e escrever construções como List<String>, Map<String, Integer>, o que é o “operador diamante” <> e por que o apagamento de tipos (type erasure) é necessário. Além disso, exemplos com classes genéricas próprias e análise de erros típicos.
    Disponível
  • Interfaces Collection, List, Set, Map: hierarquia

    JAVA 25 SELF
    Nível 27,Aula 0
    Vamos dissecar a base das coleções do Java: a interface Collection e seus ramos List, Set, Queue/ Deque, além da hierarquia separada Map. Você vai entender por que Map não herda de Collection, como a hierarquia se parece, em que as implementações diferem, quais métodos são essenciais e quando escolher cada uma. No final — erros típicos e como evitá-los.
    Disponível
  • Iterable e Iterator: percorrendo coleções

    JAVA 25 SELF
    Nível 27,Aula 1
    Nesta aula, analisamos como trabalhar com as interfaces Iterable e Iterator: o que faz o método iterator(), como o laço for-each funciona “nos bastidores”, quando e por que usar manualmente hasNext() e next(), como remover elementos com segurança via remove() sem ConcurrentModificationException, e também como iterar corretamente uma Map usando keySet(), values() e entrySet(). Muitos exemplos práticos e erros comuns para fixação.
    Disponível
  • Queue, Deque, Stack: trabalhando com filas e pilhas

    JAVA 25 SELF
    Nível 27,Aula 2
    Nesta aula, analisamos filas e pilhas em Java: como funcionam os princípios FIFO e LIFO, em que diferem Queue, Deque e Stack, por que em projetos modernos é melhor escolher ArrayDeque e como usar com segurança os métodos offer/ poll/ peek e push/ pop/ peek. Mostraremos exemplos com LinkedList, PriorityQueue, um miniaplicativo de impressão e uma pilha de undo, além de discutirmos erros típicos.
    Disponível
  • NavigableSet/NavigableMap

    JAVA 25 SELF
    Nível 27,Aula 3
    Nesta aula, abordamos coleções ordenadas e navegáveis do Java: NavigableSet e NavigableMap. Na prática, veremos como trabalhar com intervalos por meio de subSet/ headSet/ tailSet, buscar elementos “mais próximos” com lower, floor, ceiling, higher e manipular os extremos com pollFirst/ pollLast. Vamos analisar as visões em ordem reversa descendingSet/ descendingMap, as views “vivas” e casos típicos (agendas, prioridades, escalas). Como implementações, usamos TreeSet e TreeMap.
    Disponível
  • Curingas (wildcards) em generics

    JAVA 25 SELF
    Nível 27,Aula 4
    Nesta aula analisamos a invariância dos genéricos em Java, os limites de parâmetros de tipo ( extends/ super), os tipos curinga ? e a regra PECS (“Produtor Extends, Consumidor Super”). Veremos como escrever métodos universais com curingas (wildcards), como funciona o apagamento de tipos (type erasure), as restrições ao usar instanceof e arrays, além de prática com coleções e a Stream API. Por fim — erros comuns e como evitá-los.
    Disponível
  • Filtragem de elementos de coleções

    JAVA 25 SELF
    Nível 28,Aula 0
    Nesta aula, analisamos a prática de filtragem de coleções em Java: a abordagem imperativa com o laço for, a remoção segura durante a iteração usando Iterator e o método remove(), bem como a solução moderna e concisa removeIf (Java 8+). Vamos discutir por que ocorre ConcurrentModificationException, quando vale a pena criar uma nova lista e quais erros típicos aparecem com mais frequência ao formular as condições de filtragem.
    Disponível
  • Transformação de coleções

    JAVA 25 SELF
    Nível 28,Aula 1
    Nesta aula, analisamos como realizar de forma imperativa a transformação de coleções: de List<String> obter List<Integer> (por exemplo, os comprimentos das strings), como extrair campos de objetos do modelo de domínio ( Product → nome/preço), como “achatar” coleções aninhadas via addAll() ou laços aninhados, e também como combinar filtragem com transformação usando if e métodos como startsWith. Por fim, veremos erros típicos: modificar a coleção de origem, conversão de tipos incorreta ( ClassCastException) e questões de eficiência.
    Disponível
  • Remoção segura de elementos

    JAVA 25 SELF
    Nível 28,Aula 2
    Na prática, remover elementos de coleções muitas vezes leva a uma ConcurrentModificationException. Nesta aula vamos analisar por que isso acontece ao iterar com for-each, como remover com segurança usando Iterator.remove(), como o ListIterator é útil, quando escolher removeIf (Java 8+) e como trabalhar corretamente com Map. No final — dicas práticas e erros típicos.
    Disponível
  • EnumSet/EnumMap

    JAVA 25 SELF
    Nível 28,Aula 3
    Nesta aula, analisamos coleções especializadas para enumerações — EnumSet e EnumMap do pacote java.util: como elas são por dentro (máscaras de bits e indexação por ordinal), por que são mais rápidas e compactas que HashSet/ HashMap, onde aplicá-las (flags, tabelas de correspondência, autômatos finitos), quais armadilhas existem ao alterar o enum e com serialização, além de um conjunto de boas práticas e erros típicos com exemplos de código claros.
    Disponível
  • LinkedHashSet/LinkedHashMap

    JAVA 25 SELF
    Nível 28,Aula 4
    Nesta aula, analisamos coleções que preservam a ordem: LinkedHashSet e LinkedHashMap. Você aprenderá como elas mantêm a ordem de inserção e a ordem de acesso, como construir um cache LRU com poucas linhas sobrescrevendo removeEldestEntry, quais são os custos de memória e desempenho em comparação com HashSet/ HashMap, quando é necessário ter uma ordem determinística para testes e relatórios estáveis e, também, por que para filas/pilhas ArrayDeque costuma ser melhor do que LinkedList. No fim — erros comuns e como evitá-los.
    Disponível
  • 1
  • ...
  • 12
  • 13
  • 14
  • 15
  • 16
  • ...
  • 30
Aprender
  • Cadastro
  • Curso de Java
  • Ajuda com Tarefas
  • Preços
  • Sintaxe Java
Comunidade
  • Usuários
  • Artigos
  • Fórum
  • Chat
  • Histórias de sucesso
  • Atividade
  • Programa de afiliados
Empresa
  • Sobre nós
  • Contatos
  • Avaliações
  • Sala de imprensa
  • CodeGym for EDU
  • Perguntas frequentes
  • Suporte
CodeGymCodeGym é um curso online para aprender programação Java do zero. Este curso é uma maneira perfeita de dominar Java para iniciantes. Contém mais de 1.200 tarefas com verificação instantânea e um escopo essencial da teoria dos fundamentos de Java. Para ajudar você a ter sucesso nos estudos, implementamos um conjunto de recursos motivacionais: questionários, projetos de programação, conteúdo sobre aprendizagem eficiente e carreira de desenvolvedor Java.
Siga-nos
Idioma da interface
English Deutsch Español हिन्दी Français
Português
Polski বাংলা 简体中文 मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
"Programadores se formam, não nascem" © 2026 CodeGym
MastercardVisa
"Programadores se formam, não nascem" © 2026 CodeGym