DEV Community

Antonio Eloy de Oliveira Araujo
Antonio Eloy de Oliveira Araujo

Posted on

Percorrendo listas antes e depois do Java 8

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á");
Enter fullscreen mode Exit fullscreen mode

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á
Enter fullscreen mode Exit fullscreen mode

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);
}
Enter fullscreen mode Exit fullscreen mode

ListIterator

ListIterator<String> listIterator = frutas.listIterator();

while (listIterator.hasNext()) {
    String fruta = listIterator.next();
    System.out.println(fruta);
}
Enter fullscreen mode Exit fullscreen mode

for

for (int i = 0; i < frutas.size(); i++) {
    String fruta = frutas.get(i);
    System.out.println(fruta);
}
Enter fullscreen mode Exit fullscreen mode

Enhanced for

for (String fruta : frutas) {
    System.out.println(fruta);
}
Enter fullscreen mode Exit fullscreen mode

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));
Enter fullscreen mode Exit fullscreen mode

forEach com method reference

frutas.forEach(System.out::println);
Enter fullscreen mode Exit fullscreen mode

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)