For?

Olá estou com uma dúvida estouestudando a apostila Caelum e tem uma parte de um códio que está assim

for (Conta conta : contas)

o que isso faz exatamente, o Conta seria um objeto

Percorre uma lista de contas, esse for é o foreach, Sim conta é um objeto:

Onde deve ter sido montado algo assim

List<Conta> contas = new ArrayList<Conta>();
for(int i = o; i<10;i++){
   Conta conta = new Conta();
   conta.setNumero(i);
   contas.add(conta)
}
for(Conta conta: contas){
   System.out.println(conta.getNumero());
}

Isso é um foreach…

Dá uma olhada aki: http://www.ibm.com/developerworks/java/library/j-forin.html

abraço

A sua sintaxe é:

for ( : <coleção a ser percorrida> ) { fluxo; }

for (String nome : listaStrings) { System.out.println("String corrente: "+nome); }

seria o mesmo que:

for (int i = 0; i < listaStrings.length; i++) { System.out.println("String corrente: "+listaStrings[i]); }

Um outro exemplo…

[code]class TestaMatriz {

public static void main(String args[]) {

	int[] idades = new int[10];
		
		for (int i = 0; i < 10; i++) {
		idades[i] = i * 10;
		}
		

		for (int i : idades) {
		System.out.println("Idades: " + i);
		}
}

}[/code]

a diferença para o for tradicional, que ja conhecemos de outras linguaguens é que o foreach vc nao precisa definir o tamanho do array ou conjunto ele mesmo se encarrega de fazer isso, ou seja, com o foreach é usado quando vc quer sempre precorrer TODO o conjunto. Porem vale lembrar q ele nao inativa o outro ja que no for tradicional posso querer percorrer ate a posicao X do meu array/conjunto.

foreach disponivel apenas na versao java 1.5 ou superior .

Obrigado Pessoal :wink: !!!