Middle
55
/** * Επιστρέφει μια λίστα ετικετών βιβλίων των συγγραφέων που καθορίζονται από μια λίστα αναγνωριστικών * @param authors λίστα συγγραφέων * @param searchAuthorIds λίστα αναγνωριστικών συγγραφέων των οποίων οι ετικέτες βιβλίων πρέπει να ληφθούν * @return λίστα ετικετών βιβλίων των καθορισμένων συγγραφέων */ public static List<Tag> getTagsOfAuthorsBooks(List<Author> authors, List<String> searchAuthorIds) { return authors.stream() .filter(a -> searchAuthorIds.contains(a.id)) .flatMap(a -> a.books.stream()) .flatMap(b -> b.tags.stream()) .collect(Collectors.toList()); }
Εταιρείες όπου ρωτήθηκαν
экзон
Απάντηση από AI
sobes.tech AI
Данный метод getTagsOfAuthorsBooks принимает два параметра:
authors— список объектовAuthor.searchAuthorIds— список идентификаторов авторов, теги книг которых нужно получить.
Он возвращает список тегов (List<Tag>) всех книг авторов, чьи идентификаторы содержатся в searchAuthorIds.
Как это работает:
- Фильтрует список авторов, оставляя только тех, у кого
idесть вsearchAuthorIds. - Для каждого такого автора получает поток его книг.
- Для каждой книги получает поток тегов.
- Собирает все теги в один список.
Таким образом, метод эффективно извлекает все теги книг указанных авторов.
Пример использования:
List<Tag> tags = getTagsOfAuthorsBooks(allAuthors, Arrays.asList("author1", "author3"));
Это вернёт все теги книг авторов с id "author1" и "author3".