Сломал всю башку, помогите - светлые головы

@Test
void findBooksByAuthorNameTest() {
    Page<Book> response = mainController.findBooksByAuthorName("рэй", PageRequest.of(0, 20));
    Assert.assertNotNull(response);
    List<Author> authors = new ArrayList<>();
    List<Book> books = response.stream().collect(Collectors.toList());
    books.stream().filter(book -> book.getAuthors().addAll(authors));
    System.out.println(authors.size());
}

У меня есть коллекция в коллекции как мне правильно ее достать и положить в коллекцию своего типа, пытаюсь добавить методом addAll но размер коллекции authors все равно 0. По-любому ошибка элементарная, но я уже всю голову сломал


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

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

Реализовать так(разумеется, в классе book должен быть геттер getAuthors(), который возвращает коллекцию типа Author):

List<Author> authors = books.stream()
        .flatMap(book -> book.getAuthors().stream())
        .collect(Collectors.toList());
→ Ссылка