Есть массив:
Integer[] sums = new Integer[5];
предварительно уже заполненный элементами.
Для вывода элементов c новой строки при помощи функицонала Java8 используется:
Arrays.stream(sums).forEach(System.out::println);
Как сделать вывод,например, в одну строку, через запятую(после последнего элемента ничего) при помощи java8?
В одну строку print, добавить запятую внутри forEach, судя по всему, нельзя. Так еще нужно проверить условие на последний элемент.
Ну, стримы созданы для преобразования каждого отдельного элемента, независимо от предыдущих. Поэтому с проверкой последнего ничего не выйдет, если не костылизировать через limit и skip с созданием второй копии стрима.
Если нужен именно стрим, то я предложу только такой вариант:
System.out.println(Arrays.stream(sums)
.map(String::valueOf)
.collect(Collectors.joining(", "))
);
Можно, например, так:
System.out.println(Arrays.stream(sums).map(String::valueOf).collect(Collectors.joining(",")));
Конечно, костыльный метод, но могу предложить:
String tmp =""+sums[0];
for(int i=1; i<5; i++){
tmp+=", "+sums[i];
}
System.out.print(tmp);
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости