Introdução
Percorrer listas e operar sobre os seus elementos é uma necessidade frequente no dia a dia de um desenvolvedor Java. O objetivo deste artigo é apresentar as diferentes maneiras que a linguagem fornece para fazermos isso, destacando as novas possibilidades introduzidas a partir da versão 8.
Lista a ser percorrida
A lista que devemos percorrer é formada por strings que representam o nome de algumas frutas. Neste exemplo, foi utilizada a classe ArrayList como implementação da interface List:
List<String> frutas = new ArrayList<>();
frutas.add("Banana");
frutas.add("Laranja");
frutas.add("Acerola");
frutas.add("Limão");
frutas.add("Maracujá");
O nome de cada fruta deve ser impresso em uma linha, de forma que tenhamos o seguinte resultado no console:
Banana
Laranja
Acerola
Limão
Maracujá
Como podemos fazer isso? Vejamos nas próximas seções as alternativas possíveis.
Percorrendo a lista antes do Java 8
Antes da introdução da versão 8 do Java, poderíamos percorrer a nossa lista e imprimir seus elementos utilizando Iterator, ListIterator, for ou Enhanced for, como mostrado a seguir:
Iterator
Iterator<String> iterator = frutas.iterator();
while (iterator.hasNext()) {
String fruta = iterator.next();
System.out.println(fruta);
}
ListIterator
ListIterator<String> listIterator = frutas.listIterator();
while (listIterator.hasNext()) {
String fruta = listIterator.next();
System.out.println(fruta);
}
for
for (int i = 0; i < frutas.size(); i++) {
String fruta = frutas.get(i);
System.out.println(fruta);
}
Enhanced for
for (String fruta : frutas) {
System.out.println(fruta);
}
Percorrendo a lista depois do Java 8
Com a introdução do Java 8, podemos obter o mesmo resultado de forma mais simples e direta, utilizando forEach, lambda expression e method reference, conforme apresentado abaixo:
forEach com lambda expression
frutas.forEach(fruta -> System.out.println(fruta));
forEach com method reference
frutas.forEach(System.out::println);
Que diferença, não é mesmo? Com os recursos do Java 8, o código ficou mais enxuto e legível. Lembre-se deles sempre que uma lista aparecer na sua frente!
Conclusão
Neste artigo, vimos diferentes formas de percorrer uma lista em Java e imprimir seus elementos. Percebemos que os novos recursos do Java 8 permitiram escrever um código mais simples e fácil de entender. Para saber mais, consulte os links disponíveis na bibliografia. Um abraço e até a próxima!
Bibliografia
List
ArrayList
Iterator
ListIterator
for
Enhanced for
forEach (Iterable)
Lambda Expressions
Method References
Top comments (0)