Percorrer com for-each
Quando você trabalha com listas de números em Java, o for-each é a maneira mais limpa de percorrer cada elemento sem se preocupar com índices. Em sistemas reais, é comum processar coleções de dados — como notas de alunos ou valores de sensores — e o for-each torna o código mais legível e menos propenso a erros de índice. Saber usá-lo com tipos como Integer é essencial porque a conversão automática entre int e Integer (autoboxing) acontece o tempo todo em aplicações que usam coleções.
O PROBLEMA
ArrayList de 5 inteiros. Exiba cada número e seu quadrado.
EXEMPLO
2 → 4 3 → 9 ...
SOBRE O CONCEITO
O for-each percorre cada elemento de uma coleção sem precisar de um contador. No caso, para uma lista ArrayList<Integer>, a variável do loop é do tipo Integer, que é a classe wrapper para int. O erro comum é acreditar que você precisa fazer conversão manual entre int e Integer, mas o Java faz isso automaticamente (autoboxing) quando você adiciona um int com add() e unboxing quando atribui a uma variável int. No entanto, se você tentar usar int como tipo da variável no for-each, ele funciona porque o Java desempacota automaticamente o Integer para int. O problema é quando você não entende que a lista guarda objetos Integer, não valores primitivos — mas a sintaxe oculta essa diferença.
RESOLUÇÃO