Funções em Java: Maestria no loop foeach em Java
- #Java
Como utilizar o loop foreach de forma avançada em Java?
Neste artigo será mostrado como se utilizar do loop foreach, diferentes implementações e vantagens.
Mas a final de contas, o que é o foreach?
O loop foreach é uma implementação mais refinada e simples de se iterar sobre uma lista ou array.
Sendo possível ver algumas das implementações nessas documentações oficiais da oracle:
https://docs.oracle.com/javase/8/docs/technotes/guides/language/foreach.html
Vantagens
A seguir serão listadas algumas vantagens da utilização do foreach.
- Maior produtividade
- Menor propenção a erros
- Implementação simples
Essas vantagens são principalmente pela não utilização dos índices para se iterar sobre a lista, sendo esse o maior motivo de complexidade da utilização do loop for.
Utilização
Temos duas implementações do loop foreach, sendo uma não funcional, e outra funcional a partir dos métodos disponíveis de uma lista.
A seguir será mostrado 1 exemplo de cada implementação, em ambos será utilizado uma lista de String chamada hominideos, contendo quatro nomes de Hominídeos.
Sendo a lista definida da seguinte forma:
List<String> hominideos = new ArrayList<String>();
hominideos.add("Homo erectus");
hominideos.add("Homo rudolfensis");
hominideos.add("Australopithecus anamensis");
hominideos.add("Homo sapiens");
Foreach não funcional
Primeiro seguiremos com a mais comum e simples, a implementação não funcional, sendo a mesma definida como:
for (String hominideo : hominideos) {
System.out.println(String.format("Hominídeo: %s", hominideo));
}
Neste rápido exemplo temos a implementação de um foreach sobre a lista de hominídeos, sendo os argumentos
for(TipoDado nomeVariavel : lista)
dentro do foreach podem ser realizadas quaisquer operações desejadas, como no exemplo, uma saída na tela de cada Hominídeo da lista.
Foreach funcional
Por últimos e não menos importante, seguiremos com a implementação funcional, a qual é um pouco mais complexa de ser entendida, definida como:
hominideos.forEach((hominideo) -> {
System.out.println(String.format("Hominídeo: %s", hominideo));
});
sendo .foreach uma função contida dentro do tipo ArrayList de java.util.ArrayList.
dentro dela temos a definição de uma função, sendo o início () podendo ou não conter alguma variável, como também no exemplo não funcional, podemos realizar quaisquer operações dentro da função.
Considerações finais
Como visto acima, o loop foreach é extremamente versátil de se implementar, simples e prático, sendo amplamente utilizado no dia a dia.
Espero que este artigo tenha sanado suas dúvidas, sinta se livre para praticar a partir dos exemplos acima.
Caso tenha alguma dúvida, consulte as documentações oficiais ou revise este e outros artigos.