Как распечатать все элементы в списке с помощью Java string.format?

#java

Вопрос:

В этом вопросе я пытаюсь распечатать все элементы в списке массивов и объединить его с предложением, но я могу напечатать только один элемент в списке, это либо первый индекс, либо последний индекс. Но идеальным ожидаемым результатом должен быть, например, список A = {«a», «b», «c», «d»}, ожидаемый результат: «Список содержит: a, b, c, d».

Ниже приведено то, что я получил до сих пор:

 public static void main(String[] args) {
    ArrayList<String> strings = new ArrayList<>();
    strings.add("a");
    strings.add("b");
    strings.add("c");
    String result = "hello";
    for (String s : strings) {
        result = String.format("This list contains: %s", s);
    }
    System.out.println(result); //Expected: "This list contains: a, b, c." But: "This list contains: c".
}
 

Как мне следует поступить с этим? Спасибо.

Ответ №1:

Используйте String.join вместо format

 ArrayList<String> strings = new ArrayList<>();
strings.add("a");
strings.add("b");
strings.add("c");
System.out.println("This list contains: "   String.join(", ", strings));
 

Комментарии:

1. Почему бы не и то, и другое? String.format("This list contains: %s", String.join(", ", strings))