Aew galera gostaria de saber se existe for each no java??
aew abs
Aew galera gostaria de saber se existe for each no java??
aew abs
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
}
É como nosso amigo Mantu disse, mas vou adicionar só mais uma coisinha!!
for(T elemento: elementos){
//faça o que quiser com elemento
}
O “elementos” poderá ser qualquer elemento que implemente a interface java.lang.Iterable, logo pode-se colocar qualquer Collection, Array ou outra instância de uma classe que implemente esta interface!!
public interface Iterable<T>{
public abstract Iterator<T> iterator();
}
Espero ter ajudado!!
Flw aew e t+!!
valewwwww galera era soh um duvida que eu tinhaaa
um abs at todos
Tenho uma duvida pessoal. No caso do for each
for(T elemento: elementos){
2. //faça o que quiser com elemento
3. }
Se o vetor elementos na primeira passada for null, dá erro?
Detalhe: existe desde o java 1.5
[quote=nadiafelix]Tenho uma duvida pessoal. No caso do for each
for(T elemento: elementos){
2. //faça o que quiser com elemento
3. }
Se o vetor elementos na primeira passada for null, dá erro?
[/quote]
Sim:
public static void main(String[] args) {
List<String> lista = null;
for(String a : lista){
}
}
Erro:
Exception in thread "main" java.lang.NullPointerException
E dá NullPointerException porque, na verdade, o foreach usa um Iterator. Tanto que os códigos abaixo correspondem:
for (T elemento : lista) {
// algo aqui
}
// é correspondente à
Iterator<T> iterator = lista.iterator(); // isso daria NPE se lista fosse null, assim como dá no caso do foreach
while (iterator.hasNext()) {
T elemento = iterator.next();
// algo aqui
}
É claro que o foreach deixa a leitura do código mais claro, mas a vantagem do Iterator é o método remove (se você tentar remover um elemento via foreach, vai receber um ConcurrentModificationException).