Помогие добавить один лист в другой с помощью стримов. Элементы листа при этом подвергаются измененению

Я написал цикл в котором, элементы листа List lines я добавляю в List wordList. При этом мне необходимо каждую строку листа сплитнуть по regex "[^A-Za-zА-Яа-я]+" и добавить как отдельный элемент wordList.

Вот мой цикл:

for (String line : lines) {
        wordList.addAll(Arrays.asList(line.toLowerCase().split("[^A-Za-zА-Яа-я]+")));
    }

помогите пожалуйста написать данное выражение в Stream.


Ответы (1 шт):

Автор решения: Дмитрий

Так, например:

List<String> wordList = lines.stream()
        .flatMap(line -> Arrays.stream(line.toLowerCase().split("[^A-Za-zА-Яа-я]+")))
        .collect(Collectors.toList());
→ Ссылка