HOWTO · Java

Comment convertir une ArrayList en chaîne de caractères en Java

Apprenez à convertir une ArrayList en chaîne de caractères en Java avec un délimiteur choisi ou une représentation entre crochets.

Sur cette page

Pour convertir une ArrayList en String, choisissez si vous avez besoin d’une valeur par élément avec un délimiteur ou d’une représentation entre crochets pour l’affichage. Pour un texte joint par un délimiteur, String.join() est une option directe ; StringBuilder est utile lorsque vous devez personnaliser la boucle. Les exemples ci-dessous utilisent Apple, Orange et Mango comme valeurs de la liste.

Convertir une ArrayList en String avec l’opérateur + en Java

L’opérateur + concatène les chaînes. Pour une liste courte et fixe, vous pouvez concaténer directement ses valeurs et placer des séparateurs entre elles. Une concaténation répétée dans une boucle crée des chaînes intermédiaires, utilisez donc StringBuilder pour les listes plus grandes.

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);
  }
}

Convertir une ArrayList en String à l’aide de la méthode append() en Java

Utilisez StringBuilder.append() pour construire un résultat dans une boucle. Ajoutez le délimiteur avant chaque valeur sauf la première ; cela évite de laisser un séparateur supplémentaire à la fin. L’appel à toString() renvoie la String terminée.

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);
  }
}

Convertir une ArrayList en String à l’aide de la méthode join() en Java

String.join() combine les éléments à l’aide du délimiteur que vous fournissez. Le séparateur apparaît entre les valeurs adjacentes et n’est ajouté ni avant la première valeur ni après la dernière. Cette API est présentée ici sans préciser de version minimale de 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);
  }
}

Convertir une ArrayList en String à l’aide de la classe StringUtils en Java

Si votre projet utilise déjà Apache Commons Lang, StringUtils.join(fruits, ", ") joint les valeurs avec le séparateur fourni. Cette option nécessite la dépendance Commons Lang dans le classpath du projet ; elle ne fait pas partie de la bibliothèque standard de Java. Consultez le guide de la classe StringUtils pour en savoir plus sur la bibliothèque.

Convertir une ArrayList en String à l’aide de la méthode replaceAll() en Java

Vous pouvez supprimer les crochets et l’espacement des séparateurs de List.toString() avec replaceAll(), mais il s’agit d’un raccourci de mise en forme. Il repose sur la représentation d’affichage de la liste, de sorte que des valeurs contenant des virgules ou des crochets peuvent rendre le résultat ambigu. Cet exemple ne supprime que les crochets ; il laisse inchangés les séparateurs constitués d’une virgule et d’un espace provenant 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);
  }
}

Convertir une ArrayList en String à l’aide de la méthode joining() en Java

Pour une approche basée sur les flux, appelez stream() sur la liste et collectez ses éléments avec Collectors.joining(). Le délimiteur est inséré entre les valeurs. Cette API est présentée sans affirmation sur une version minimale de 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);
  }
}

Convertir une ArrayList en String à l’aide de la méthode deepToString() en Java

Arrays.deepToString() crée une représentation entre crochets dans le style d’un tableau, utile pour l’affichage et les valeurs de tableaux imbriqués. Elle ne crée pas une simple chaîne jointe par un délimiteur. Convertissez la liste en tableau avant de la passer à la méthode.

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);
  }
}