Начиная с версии 1.8, чтобы соединять элементы из списка в одну строку, очень удобно использовать Stream API. Если в строку не требуется добавлять никаких обрамлений и разделителей, то можно воспользоваться таким кодом
List<Character> chars = Arrays.asList('H','e','l','l','o');Чтобы между элементами появился разделитель, его достаточно передать аргументом в метод Collectors.joining(). Например, так:
List<Character> chars = Arrays.asList('H','e','l','l','o');Также в Collectors.joining() можно добавить префикс и суффикс строки:
List<Character> chars = Arrays.asList('H','e','l','l','o');Кроме того, стоит обратит внимание на метод map(Function<? super T, ? extends R> mapper). Именно в нём каждый элемент списка превращается в фрагмент конечной строки. Выражение String::valueOf применит метод valueOf класса String к каждому элементу списка и использует возвращаемое этим методом значение.
Но в метод map() можно передать и собственную функцию, которая будет делать из элемента строку так, как это нужно нам. Возьмём, например, ситуацию, когда нам нужно соединить в строку только данные из одного поля списка объектов.
public static void main(String[] args) {