0Pricing
Java Academy · Aula

Iteradores e for aprimorado

Percorra coleções com Iterator e for aprimorado. Aprenda a remover elementos com segurança durante a iteração e conheça as armadilhas comuns.

Iteradores e for aprimorado é uma aula grátis de Java Academy no CoddyKit. Esta é a aula 2 de 3. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Java Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Java Academy inclui 3 aulas no total.

Visão geral

Iterator oferece controle passo a passo para percorrer uma coleção. O for aprimorado (for-each) é mais curto e claro para ler elementos. Use Iterator quando precisar remover elementos com segurança durante a travessia.

Iterator versus for-each

  • Iterator: use quando puder remover itens ou precisar de controle detalhado.
  • For aprimorado: é melhor para laços somente de leitura.
  • Nunca faça alterações estruturais na coleção dentro de um for aprimorado.

Código: Iterator básico

Iterator usa hasNext() e next(). Cada chamada a next() avança e retorna o elemento.

public class Main {
  public static void main(String[] args) {
    java.util.List<String> names = new java.util.ArrayList<>();
    names.add("Ada"); names.add("Bob"); names.add("Cyd");

    java.util.Iterator<String> it = names.iterator();
    while (it.hasNext()) {
      String s = it.next();
      System.out.println(s);
    }
  }
}

Armadilha

Armadilha: remover diretamente dentro de um laço for aprimorado geralmente lança ConcurrentModificationException. Use Iterator para fazer alterações estruturais com segurança.

Código: remoção segura

Remoção segura: chame remove() no Iterator logo depois de next() quando uma correspondência for encontrada.

public class Main {
  public static void main(String[] args) {
    java.util.List<String> words = new java.util.ArrayList<>();
    words.add("to"); words.add("be"); words.add("or"); words.add("not");

    java.util.Iterator<String> it = words.iterator();
    while (it.hasNext()) {
      String w = it.next();
      if (w.length() <= 2) {
        it.remove(); // safe removal
      }
    }
    System.out.println(words); // [not]
  }
}

Código: for aprimorado/forEach

O for aprimorado é claro para leituras. forEach com uma lambda é outro estilo curto (Java 8 ou superior).

public class Main {
  public static void main(String[] args) {
    java.util.Set<String> tags = new java.util.HashSet<>();
    tags.add("java"); tags.add("collections"); tags.add("oop");

    // enhanced for: read-only
    for (String t : tags) {
      System.out.print("[" + t + "]");
    }
    System.out.println();

    // Java 8+ forEach
    tags.forEach(t -> System.out.println("tag=" + t));
  }
}

Verificação da remoção com Iterator

Verificação rápida: como remover elementos com segurança enquanto percorre uma lista?

Recapitulação

Recapitulação: use o for aprimorado para leituras simples. Use Iterator quando precisar remover itens durante a travessia. Isso evita erros em tempo de execução.

Perguntas Frequentes

A aula “Iteradores e for aprimorado” é grátis?

Sim — o texto completo de “Iteradores e for aprimorado” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Java Academy, atualize para CoddyKit PRO. O curso de Java Academy inclui 3 aulas no total.

O que vou aprender em “Iteradores e for aprimorado”?

Percorra coleções com Iterator e for aprimorado. Aprenda a remover elementos com segurança durante a iteração e conheça as armadilhas comuns. Você pratica Java Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Java Academy?

Nenhuma experiência prévia é necessária. Java Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 3.

Quanto tempo leva a aula “Iteradores e for aprimorado”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Java Academy?

Sim. Cada aula de Java Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Visão geral de List e Set
  2. Iteradores e for aprimorado
  3. Utilitários de coleções
← Voltar para Java Academy