Loop For-Each em Java: Simplificando Iteração de Arrays Sem Contadores
Ao trabalhar com coleções em Java, o loop for-each oferece alternativa concisa e legível ao for indexado tradicional. Eliminando gerenciamento manual de índice, reduz boilerplate e potenciais erros off-by-one.
Sintaxe
for (TipoDado elemento : colecao) {
// Processa elemento
}
Exemplo Prático
Iteramos sobre array String usando tanto for convencional quanto for-each para destacar diferenças.
Declaração do array:
String[] arrDados = {"Alfa", "Beta", "Gama", "Delta", "Sigma"};
Loop for Tradicional
for (int i = 0; i < arrDados.length; i++) {
System.out.println(arrDados[i]);
}
Loop For-Each
for (String elemento : arrDados) {
System.out.println(elemento);
}
Note que versão for-each elimina variável de índice e torna intenção de "processar cada item" cristalina.
Pontos-Chave para Lembrar
- Tipo declarado no loop deve corresponder ao tipo de elemento do array ou coleção.
- Loops for-each ideais para travessia somente leitura; não use quando precisar modificar estrutura da coleção (ex.: remover elementos durante iteração).
- Diferenças de performance são insignificantes na maioria dos casos; legibilidade deve guiar escolha.
Exemplo de Classe Completa
class UsandoForEach {
public static void main(String[] args) {
String[] arrDados = {"Alfa", "Beta", "Gama", "Delta", "Sigma"};
System.out.println("Usando For Loop Convencional:");
for (int i = 0; i < arrDados.length; i++) {
System.out.println(arrDados[i]);
}
System.out.println("\nUsando Foreach loop:");
for (String elemento : arrDados) {
System.out.println(elemento);
}
}
}

Saída
Usando For Loop Convencional: Alfa Beta Gama Delta Sigma Usando Foreach loop: Alfa Beta Gama Delta Sigma
Ambos loops produzem resultados idênticos, mas loop for-each alcança mesmo resultado com menos código e menos chances de erros.
Java
- Dominando Loops For em C#: Sintaxe, Fluxo e Exemplos Práticos
- Dominando o Loop for Aprimorado em Java: Sintaxe, Exemplos e Boas Práticas
- Técnicas de Cópia de Arrays em Java: Guia Completo
- Criando Array de Objetos em Java: Guia Passo a Passo
- Entendendo Java String.charAt(): Sintaxe, Tipo de Retorno, Exceções e Exemplo Prático
- Programa Java para Identificar Números de Armstrong Usando Loop For
- Verificador de Número Palíndromo em Java: Algoritmos com While e For Loops
- Dominando Bubble Sort em Java: Exemplo Claro e Passo a Passo
- Selection Sort em Java: Exemplo Passo a Passo e Código Completo
- Java 10: Interface do Coletor de Lixo e Full GC Paralelo para G1