All the posts and topics that contain only an error report will be moved here after the error is corrected. This is to ensure that when users view a question in ETS Viewer, the "Discuss" button will not indicate the presence of a discussion that adds no value to the question.
Yes, the matching algorithm for questions in the s/w with the subject in topics of the forum is not accurate because of same question appearing in different versions of the exam. It errs on the side of caution.
The call to Collectors.mapping(Book::getTitle, Collectors.toSet()) converts a stream of Books into a Set of title string. This call is wrapped inside Collectors.filtering(p,...), which filters the Set of titles based on the given Predicate. So it returns a Set.
Why do you think it should return a Map?
You may also want to try compiling and running the given code.
I noticed a small discrepancy in the wording of this question that might be worth clarifying. The question asks for 'a set of books', but the code structure (Set<String>) suggests we're actually collecting book titles. Would it be more precise to say 'a set of book titles' in the question text, to distinguish it from book objects? This minor adjustment could help align the wording more closely with the expected code implementation.