HOWTO · Java

Wie man eine ArrayList in Java in einen String konvertiert

Erfahren Sie, wie Sie eine ArrayList in Java mit einem gewählten Trennzeichen oder einer Darstellung in eckigen Klammern in einen String konvertieren.

Auf dieser Seite

Um eine ArrayList in einen String zu konvertieren, wählen Sie, ob Sie einen Wert pro Element mit einem Trennzeichen oder eine Darstellung in eckigen Klammern zur Anzeige benötigen. Für durch Trennzeichen verbundenen Text ist String.join() eine direkte Möglichkeit; StringBuilder ist nützlich, wenn Sie die Schleife anpassen müssen. Die folgenden Beispiele verwenden Apple, Orange und Mango als Werte der Liste.

ArrayList in Java mit dem +-Operator in einen String konvertieren

Der +-Operator verkettet Strings. Bei einer kurzen, festen Liste können Sie ihre Werte direkt verketten und Trennzeichen dazwischen setzen. Wiederholtes Verketten innerhalb einer Schleife erzeugt Zwischen-Strings, verwenden Sie daher für größere Listen StringBuilder.

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

ArrayList in Java mit der Methode append() in einen String konvertieren

Verwenden Sie StringBuilder.append(), um ein Ergebnis in einer Schleife aufzubauen. Fügen Sie das Trennzeichen vor jedem Wert außer dem ersten ein; so vermeiden Sie ein überflüssiges Trennzeichen am Ende. Der Aufruf von toString() gibt den fertigen String zurück.

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

ArrayList in Java mit der Methode join() in einen String konvertieren

String.join() verbindet die Elemente mit dem von Ihnen angegebenen Trennzeichen. Das Trennzeichen erscheint zwischen benachbarten Werten und wird weder vor dem ersten Wert noch nach dem letzten eingefügt. Diese API wird hier besprochen, ohne eine Mindestversion von Java anzugeben.

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

ArrayList in Java mit der Klasse StringUtils in einen String konvertieren

Wenn Ihr Projekt bereits Apache Commons Lang verwendet, verbindet StringUtils.join(fruits, ", ") die Werte mit dem angegebenen Trennzeichen. Diese Möglichkeit erfordert die Commons-Lang-Abhängigkeit im Klassenpfad des Projekts; sie ist nicht Teil der Java-Standardbibliothek. Weitere Informationen zur Bibliothek finden Sie im Leitfaden zur Klasse StringUtils.

ArrayList in Java mit der Methode replaceAll() in einen String konvertieren

Mit replaceAll() können Sie die Klammern und den Abstand der Trennzeichen aus List.toString() entfernen, aber das ist eine Abkürzung bei der Formatierung. Sie beruht auf der Anzeigedarstellung der Liste, sodass Werte, die Kommas oder Klammern enthalten, das Ergebnis mehrdeutig machen können. Dieses Beispiel entfernt nur die eckigen Klammern; es lässt die aus Komma und Leerzeichen bestehenden Trennzeichen von List.toString() unverändert.

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

ArrayList in Java mit der Methode joining() in einen String konvertieren

Für einen auf Streams basierenden Ansatz rufen Sie stream() auf der Liste auf und sammeln ihre Elemente mit Collectors.joining(). Das Trennzeichen wird zwischen den Werten eingefügt. Diese API wird besprochen, ohne eine Aussage zu einer Mindestversion von Java zu machen.

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

ArrayList in Java mit der Methode deepToString() in einen String konvertieren

Arrays.deepToString() erstellt eine Darstellung in eckigen Klammern im Stil eines Arrays, die für die Anzeige und für verschachtelte Array-Werte nützlich ist. Sie erzeugt keinen einfachen, durch Trennzeichen verbundenen String. Konvertieren Sie die Liste in ein Array, bevor Sie sie an die Methode übergeben.

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