HOWTO · Java

Iterar por meio de lista em Java

Este artigo apresenta como iterar todos os elementos de uma lista em Java.

Nesta página

Este tutorial apresenta como iterar pela lista em Java e lista alguns códigos de exemplo para entender o tópico.

A lista é uma interface em Java que possui várias classes de implementação como ArrayList, LinkedList, etc. Podemos usar essas classes para armazenar dados. A lista funciona como um array dinâmico que aumenta de tamanho quando o número de elementos aumenta.

Existem várias maneiras de iterar todos os elementos de uma lista em Java. Por exemplo, o loop for, o loop for-each, o método forEach() com uma lista ou fluxo, etc. Vamos ver alguns exemplos.

Repita os elementos da lista usando o loop for em Java

Podemos usar o loop for clássico para iterar cada elemento individualmente. O loop for funciona bem com os objetos e valores primitivos também. Veja o exemplo abaixo.

import java.util.ArrayList;
import java.util.List;

public class SimpleTesting {
  public static void main(String[] args) {
    List<String> list = new ArrayList<>();
    list.add("India");
    list.add("US");
    list.add("China");
    list.add("Russia");
    for (int i = 0; i < list.size(); i++) {
      String element = list.get(i);
      System.out.println(element);
    }
  }
}

Resultado:

India
US
China
Russia

Repita os elementos da lista usando o loop for-each em Java

Podemos usar o loop for-each para imprimir cada elemento individualmente. O loop for-each funciona bem com o recipiente do objeto como uma lista, Set, etc. Veja o exemplo abaixo.

import java.util.ArrayList;
import java.util.List;

public class SimpleTesting {
  public static void main(String[] args) {
    List<String> list = new ArrayList<>();
    list.add("India");
    list.add("US");
    list.add("China");
    list.add("Russia");
    for (String country : list) {
      System.out.println(country);
    }
  }
}

Resultado:

India
US
China
Russia

Repita os elementos da lista usando while Loop em Java

Como o loop for, podemos usar o loop while para iterar os elementos da lista em Java. Buscamos elementos usando o método get() e imprimimos os elementos. Veja o exemplo abaixo.

import java.util.ArrayList;
import java.util.List;
public class SimpleTesting {
  public static void main(String[] args) {
    List<String> list = new ArrayList<>();
    list.add("India");
    list.add("US");
    list.add("China");
    list.add("Russia");
    while (!list.isEmpty()) {
      String element = list.get(0);
      list = list.subList(1, list.size());
      System.out.println(element);
    }
  }
}

Resultado:

[India, US, China, Russia]

Repita os elementos da lista usando o método forEach() em Java 8

Se você estiver usando Java 8 ou versão superior, use o método forEach() que imprime os elementos de uma lista. Leva a referência do método como parâmetro. Veja o exemplo abaixo.

import java.util.ArrayList;
import java.util.List;
public class SimpleTesting {
  public static void main(String[] args) {
    List<String> list = new ArrayList<>();
    list.add("India");
    list.add("US");
    list.add("China");
    list.add("Russia");
    list.forEach(System.out::println);
  }
}

Resultado:

India
US
China
Russia

Repita os elementos da lista usando o método forEach() e stream em Java 8

Se você estiver trabalhando com API de fluxo, use forEach() de stream() para imprimir todos os elementos da lista. Veja o exemplo abaixo.

import java.util.ArrayList;
import java.util.List;
public class SimpleTesting {
  public static void main(String[] args) {
    List<String> list = new ArrayList<>();
    list.add("India");
    list.add("US");
    list.add("China");
    list.add("Russia");
    list.stream().forEach(System.out::println);
  }
}

Resultado:

India
US
China
Russia

Repita os elementos da lista usando a biblioteca apache em Java

Se você estiver trabalhando com a biblioteca apache, use a classe ArrayUtils para imprimir todos os elementos da lista. Veja o exemplo abaixo.

import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang3.ArrayUtils;
public class SimpleTesting {
  public static void main(String[] args) {
    List<String> list = new ArrayList<>();
    list.add("India");
    list.add("US");
    list.add("China");
    list.add("Russia");
    System.out.println(ArrayUtils.toString(list));
  }
}

Resultado:

{India,US,China,Russia}

Repita os elementos da lista usando o método join() em Java

Se você deseja imprimir todos os elementos como uma única string, você pode usar o método join() para juntar cada elemento da lista e imprimi-los usando o método print(). Veja o exemplo abaixo.

import java.util.ArrayList;
import java.util.List;
public class SimpleTesting {
  public static void main(String[] args) {
    List<String> list = new ArrayList<>();
    list.add("India");
    list.add("US");
    list.add("China");
    list.add("Russia");
    System.out.print(String.join("\n", list));
  }
}

Resultado:

India
US
China
Russia

Repita os elementos da lista usando o método map() em Java

Esta é outra abordagem para usar o método map() da API de fluxo com forEach(). O método map() pode ser usado para passar uma expressão lambda para imprimir os elementos de acordo. Veja o exemplo abaixo.

import java.util.ArrayList;
import java.util.List;
public class SimpleTesting {
  public static void main(String[] args) {
    List<String> list = new ArrayList<>();
    list.add("India");
    list.add("US");
    list.add("China");
    list.add("Russia");
    list.stream().map(x -> x).forEach(System.out::println);
  }
}

Resultado:

India
US
China
Russia