Java 8 поток собирать - PullRequest
       7

Java 8 поток собирать

0 голосов
/ 26 ноября 2018

Как я могу сделать это в Java 8. У меня есть ArrayList<String>, например:

List<String> places = Arrays.asList("Apple", "Banana", "Coconut");

Я хочу сохранить его в одной строке как

  • singleпункт должен быть заключен в одинарные кавычки
  • разделены запятыми
  • заключены в скобки

Результат: ['Apple', 'Banana', 'Coconut']

1 Ответ

0 голосов
/ 26 ноября 2018

Может быть так:

String string = places.stream().collect(Collectors.joining("', '", "['", "']"));

ОБНОВЛЕНИЕ

Поскольку другой пользователь сделал мне замечание, для работы с пустыми списками код должен быть реорганизован:

String string = places
                 .stream()
                 .map(e -> "'" + e + "'")
                 .collect(Collectors.joining(", ", "[", "]"));
...