Dúvida em sintaxe for

3 respostas
W

Boa noite pessoal, bem, estou com a seguinte dúvida:
O que diabos quer dizer: for (int i : x) {…} ?

Qual a função destes 2 pontos dentro do for? Quais os usos desta sintaxe?

3 Respostas

wagnerfrancisco

Este é um for each. Diferente do for tradicional, onde você precisa criar um índice e incrementá-lo para percorrer uma lista, o for each já faz isto para você. Você só precisa especificar qual a coleção que será percorrida e qual a variável que receber cada elemento percorrido. No seu caso, x é a coleção e i é a variável. Os dois pontos não tem nada demais, são apenas parte da sintaxe.

Para ficar mais claro, imagine que você tem uma lista de pessoas. Para percorrer num for tradicional, você faz algo como:

for (int i = 0; i < pessoas.size(); i++) {
   Pessoa pessoa = pessoas.get(i);
   System.out.println(pessoa);
}

Com o for each:

for (Pessoa pessoa : pessoas) {
   System.out.println(pessoa);
}

Bem melhor, não?

gustavocoolt

é o tal do for each…

EX:
para um vetor ou Collection chamado elementos que armazena elementos de um certo tipo T:

for(T elemento: elementos){  
       //faça o que quiser com elemento  
    }
W

Vlw, ficou bem mais claro agr =]

Criado 27 de agosto de 2012
Ultima resposta 27 de ago. de 2012
Respostas 3
Participantes 3