HOWTO · Java

Como converter uma ArrayList em uma string em Java

Aprenda a converter uma ArrayList em uma string em Java com um delimitador escolhido ou uma representação entre colchetes.

Nesta página

Para converter uma ArrayList em uma String, escolha se você precisa de um valor por elemento com um delimitador ou de uma representação entre colchetes para exibição. Para texto unido por um delimitador, String.join() é uma opção direta; StringBuilder é útil quando você precisa personalizar o loop. Os exemplos abaixo usam Apple, Orange e Mango como valores da lista.

Converter ArrayList em String com o operador + em Java

O operador + concatena strings. Para uma lista curta e fixa, você pode concatenar seus valores diretamente e colocar separadores entre eles. A concatenação repetida dentro de um loop cria strings intermediárias, portanto use StringBuilder para listas maiores.

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

public class SimpleTesting {
  public static void main(String[] args) {
    List<String> fruits = new ArrayList<>();
    fruits.add("Apple");
    fruits.add("Orange");
    fruits.add("Mango");

    String joined = fruits.get(0) + "," + fruits.get(1) + "," + fruits.get(2);
    System.out.println(joined);
  }
}

Converter ArrayList em String usando o método append() em Java

Use StringBuilder.append() para construir um resultado em um loop. Adicione o delimitador antes de cada valor, exceto o primeiro; isso evita deixar um separador extra no final. Chamar toString() retorna a String concluída.

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

public class SimpleTesting {
  public static void main(String[] args) {
    List<String> fruits = new ArrayList<>();
    fruits.add("Apple");
    fruits.add("Orange");
    fruits.add("Mango");

    StringBuilder result = new StringBuilder();
    for (String fruit : fruits) {
      if (result.length() > 0) {
        result.append(", ");
      }
      result.append(fruit);
    }
    String joined = result.toString();
    System.out.println(joined);
  }
}

Converter ArrayList em String usando o método join() em Java

String.join() combina os elementos usando o delimitador que você fornece. O separador aparece entre valores adjacentes e não é adicionado antes do primeiro valor nem depois do último. Esta API é descrita aqui sem especificar uma versão mínima do Java.

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

public class SimpleTesting {
  public static void main(String[] args) {
    List<String> fruits = new ArrayList<>();
    fruits.add("Apple");
    fruits.add("Orange");
    fruits.add("Mango");

    String joined = String.join(", ", fruits);
    System.out.println(joined);
  }
}

Converter ArrayList em String usando a classe StringUtils em Java

Se o seu projeto já usa o Apache Commons Lang, StringUtils.join(fruits, ", ") une os valores com o separador fornecido. Esta opção requer a dependência do Commons Lang no classpath do projeto; ela não faz parte da biblioteca padrão do Java. Consulte o guia da classe StringUtils para saber mais sobre a biblioteca.

Converter ArrayList em String usando o método replaceAll() em Java

Você pode remover os colchetes e o espaçamento dos separadores de List.toString() com replaceAll(), mas isso é um atalho de formatação. Ele depende da representação de exibição da lista, portanto valores que contêm vírgulas ou colchetes podem tornar o resultado ambíguo. Este exemplo remove apenas os colchetes; ele mantém inalterados os separadores de vírgula e espaço de List.toString().

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

public class SimpleTesting {
  public static void main(String[] args) {
    List<String> fruits = new ArrayList<>();
    fruits.add("Apple");
    fruits.add("Orange");
    fruits.add("Mango");

    String joined = fruits.toString().replaceAll("\\[|\\]", "");
    System.out.println(joined);
  }
}

Converter ArrayList em String usando o método joining() em Java

Para uma abordagem baseada em stream, chame stream() na lista e colete seus elementos com Collectors.joining(). O delimitador é inserido entre os valores. Esta API é descrita sem afirmar uma versão mínima do Java.

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

public class SimpleTesting {
  public static void main(String[] args) {
    List<String> fruits = new ArrayList<>();
    fruits.add("Apple");
    fruits.add("Orange");
    fruits.add("Mango");

    String joined = fruits.stream().collect(Collectors.joining(", "));
    System.out.println(joined);
  }
}

Converter ArrayList em String usando o método deepToString() em Java

Arrays.deepToString() cria uma representação entre colchetes no estilo de array, útil para exibição e para valores de arrays aninhados. Ela não cria uma string simples unida por delimitador. Converta a lista em um array antes de passá-la ao método.

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

public class SimpleTesting {
  public static void main(String[] args) {
    List<String> fruits = new ArrayList<>();
    fruits.add("Apple");
    fruits.add("Orange");
    fruits.add("Mango");

    String representation = Arrays.deepToString(fruits.toArray());
    System.out.println(representation);
  }
}