Чтобы получить список предметов, предлагаемых в колледже, можно использовать метод flatMap() для преобразования списка студентов в список предметов, и затем удалить дубликаты с помощью метода distinct().
Предположим, что у нас есть класс Student, который содержит поля name и courses. Поле courses содержит список предметов, которые брал студент. Для того чтобы получить список предметов, предлагаемых в колледже, нужно сначала объединить все списки предметов всех студентов в один список. Это можно сделать с помощью метода flatMap().
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class Student {
private String name;
private List<String> courses;
public Student(String name, String... courses) {
this.name = name;
this.courses = Arrays.asList(courses);
}
public String getName() {
return name;
}
public List<String> getCourses() {
return courses;
}
}
public class Main {
public static void main(String[] args) {
List<Student> students = Arrays.asList(
new Student("Alice", "Math", "History"),
new Student("Bob", "English", "Math", "Science"),
new Student("Charlie", "Art", "Music"),
new Student("David", "Math", "Science")
);
List<String> courses =
students.stream()
.flatMap(s -> s.getCourses().stream())
.distinct()
.collect(Collectors.toList());
System.out.println("College courses: " + courses);
}
}
В этом примере мы создаем список students, содержащий объекты класса Student, заполняем его данными и затем используем метод flatMap() для объединения всех списков предметов всех студентов в один список. Затем мы используем метод distinct() для удаления дубликатов из этого списка. Результатом является список всех предметов, которые предлагаются в колледже.
Затем мы выводим этот список в консоль.
1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions
Tелеграмм канал: https://t.me/DEBAGanov
Мое резюме: https://github.com/DEBAGanov