For Avançado

Oi Pessoal

Eu já procurei no Google, mas não encontrei nada sobre o For avançado do java:

For(Carro car: carTeste){

}

Eu achei um for estruturado mais ou menos dessa forma, mas não consigo entender como ele funciona, e já procurei no Google, e não encontrei nada, alguém pode me explicar??? :roll: :?:

Obrigada

Ola,

Acho que este link pode te ajudar: http://java.sun.com/docs/books/jls/third_edition/html/statements.html#14.14

Qq duvida que ficar é só postar.

Cara esse for que você colocou aí eu imagnino que seja isso que você quer.

[code]
import java.util.ArrayList;

public class teste1 {

public static void main(String[] args) {

	ArrayList <String> lista  = new ArrayList();
	lista.add("a");
	lista.add("b");
	lista.add("c");
	lista.add("d");
	lista.add("e");
	lista.add("f");
	
	for(String objString:lista){
		System.out.println(objString);
	}
	
}

}[/code]
Na verdade é uma implementação que facilita você fazer loop em uma lista, pois você não precisa ficar pegando o iterate, recuperando objeto e fazer o cast, isso fica tudo encapsulado já, ou seja esse código acima é o melhoramento desse de baixo

[code]import java.util.ArrayList;
import java.util.Iterator;

public class teste1 {

public static void main(String[] args) {

	ArrayList <String> lista  = new ArrayList();
	lista.add("a");
	lista.add("b");
	lista.add("c");
	lista.add("d");
	lista.add("e");
	lista.add("f");

	Iterator it = lista.iterator();
	while(it.hasNext()){
		String objString = (String)it.next();
		System.out.println(objString);
	}
	
	
	
}

}[/code]

Acho que as explicações dos amigos acima exemplificaram bem o q é o for…

Eu costumo chamar de forEach

for (String teste: lista){

}

Nesse código temos a seguinte estrutura:

TIPO DA LISTA + variável : NOME DA LISTA

No caso anterior dá rpa perceber claramente que a lista é de Strings e que cada vez que o for for executado será criado uma variável teste.

muito mais fácil do que usar iterator

for (Iterator it = lista.iterator();it.hasNext();){
String teste = (String) it.next
}

No caso do for com iterator havia a necessidade de se converter o objeto em uma string, mesmo sabendo que na lista só havia strings, e isso não era muito prático e assim surgiu o novo for

Valeu Pessoal!!! Entendi!!! :grin: :slight_smile: :wink: :!: