Во-первых, вам нужно сгладить поток списков в поток элементов списка. Вы можете использовать Stream
flatMap
метод :
Возвращает поток, состоящий из результатов замены каждого элемента этого потока содержимым сопоставленного потока, созданного с помощью применения функции сопоставления для каждого элемента.
Это, в основном, выводит элементы из внутренних Stream
s, которые вы создаете, в основной Stream
.
.flatMap(p -> method(p).stream())
Тогда это так же просто, как собрать в List
.
.collect(Collectors.toList());