pessoal estou com uma dúvida sobre o Enhanced for Loop do java 5
eu posso iterar uma coleção com ele tipo arraylist, set etc… ?? ou só serve p array ??
obrigado !
pessoal estou com uma dúvida sobre o Enhanced for Loop do java 5
eu posso iterar uma coleção com ele tipo arraylist, set etc… ?? ou só serve p array ??
obrigado !
Pode usar sem problemas, desde que seja uma coleção tipada…
ArrayList<ItemPedido> lista = new ArrayList<ItemPedido>();
...
for (ItemPedido item : lista) {
...
}
Você pode usar com classes do tipo Collection, Arrays e classes que implementem a interface Iterator (As classes Collection já implementam esta interface!!). E ela não obriga que a Coleção seja tipada, porém caso não seja, o retorno será um Object e caso seja, o retorno será do tipo declarado!! Exemplo:
List lista1 = new ArrayList();
lista1.add("Oi");
lista1.add("Bom dia");
for(Object obj : lista1){
System.out.println(obj);
}
List<String> lista2 = new ArrayList<String>();
lista2.add("Aew");
lista2.add("^_^");
for(String str : lista2){
System.out.println(str);
}
Olá bfurlaneto,
O enhanced for do Java 5 itera sobre qualquer objeto que implemente a interface java.lang.Iterable e os arrays. A interface Collection herda de Iterable, por isso todas as classes que a implementam (tipo o ArrayList) também são iteráveis. E sabendo disso, você também pode criar uma classe sua compatível com o enhanced for.
Até mais,