Для себя Нужно подробное объяснение задания и как и как это работает 1) Реализовать собственный аналог HashSet с двумя методами (вставить и удалить) и аналог ArrayList/LinkedList (листы на выбор, но должны быть основные методы add, get, remove, addAll) 2) Создать класс Student, обязательное поле класса Student - List (минимум по 5 книг у каждого) Заполнить коллекцию студентами При помощи одного (не допускается объявления никаких промежуточных переменных, совсем никаких) стрима: Вывести в консоль каждого студента (переопределите toString) Получить для каждого студента список книг Получить книги Отсортировать книги по количеству страниц (Не забывайте про условия для сравнения объектов) Оставить только уникальные книги Отфильтровать книги, оставив только те, которые были выпущены после 2000 года Ограничить стрим на 3 элементах Получить из книг годы выпуска При помощи методов короткого замыкания (почитайте самостоятельно что это такое) вернуть Optional от книги При помощи методов получения значения из Optional вывести в консоль год выпуска найденной книги, либо запись о том, что такая книга отсутствует Результат выполнения домашнего задания прикрепить PDF-файлом в курс для продолжения обучения.