Скажем, у меня есть класс под названием Project,
class Project {
private String projectId;
private String projectName;
}
и класс Employee, который имеет список проектов
class Employee {
private String name;
private List<Project> projects
}
У меня также есть список объектов Employee. Теперь мне нужно создать карту со списком проектов как ключ и набор объектов-сотрудников в качестве значения из этого списка. Я могу заставить его работать с помощью
Map<List<Project>, Set<Employee>> x =
employees
.stream
.collect(Collectors.groupingBy(Employee::getProjects, Collectors.toSet()));
Однако, поскольку я использую List в качестве ключа, я хочу быть более осторожным и следить за тем, чтобы список был неизменным. Есть ли способ достичь этого?
Спасибо.