Как объединить все элементы в коллекции в одну строку и проставить между ними запятую?

268
12 апреля 2018, 14:28

Есть List, типа String, хочу вывести все элементы в одну строчку, через запятую.

Как это лучше сделать?

Answer 1

Начиная c Java 1.8 можно воспользоваться классом StringJoiner, Collector.

Пример StringJoiner:

 StringJoiner joiner = new StringJoiner(",");
 for (Item item : list) {
   joiner.add(item.toString());
 }
 String myString = joiner.toString();

Пример Collector:

String myString = list.stream().collect(Collectors.joining(", "));

До Java 1.8 можно реализовать это следующим образом:

String delim = "";
for (int i : ints) {
  sb.append(delim).append(i);
  delim = ",";
}
Answer 2
List<String> list = Arrays.asList("foo", "bar", "baz");
String joined = String.join(" and ", list);  // "foo and bar and baz"

Либо Java 8 Stream API

List<String> list = Arrays.asList("foo", "bar", "baz");
String joinedFirstNames = list.stream()
  .collect(Collectors.joining(", ")); // "foo, bar, baz"
READ ALSO
Получение нового токена

Получение нового токена

Добрый день! Проблемка с авторизациейАвторизация в приложении осуществляется по логину и паролю от личного кабинета на сайте

260
Java DateFormat.

Java DateFormat.

Какого вида должна быть дата, при dateStyle=2Не нашел ответа в JavaDocs

222
После клонировании: cannot load module file

После клонировании: cannot load module file

После клонирования проекта с github получил эту ошибку:

294
Android Studio засунуть сайт в приложение

Android Studio засунуть сайт в приложение

Всем привет, подскажите как засунуть сайт в приложение ? к примеру как тут http://wwwappsgeyser

246