Добавить arraylist в arraylist, используя потоковый API - PullRequest
0 голосов
/ 06 сентября 2018

Есть метод, который генерирует ArrayList:

List<Entity> method (String s){
    ........
    return list;
} 

Как собрать List из коллекции List, используя потоковый API? (аналогично newList.addAll (list);

List<String> stringList = someGenerateStrings();

List<Entity> newList = stringList.stream()
    .map(this::method)
    .collect(?)

1 Ответ

0 голосов
/ 06 сентября 2018

Во-первых, вам нужно сгладить поток списков в поток элементов списка. Вы можете использовать Stream flatMap метод :

Возвращает поток, состоящий из результатов замены каждого элемента этого потока содержимым сопоставленного потока, созданного с помощью применения функции сопоставления для каждого элемента.

Это, в основном, выводит элементы из внутренних Stream s, которые вы создаете, в основной Stream.

.flatMap(p -> method(p).stream())

Тогда это так же просто, как собрать в List.

.collect(Collectors.toList());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...