import java.util.*;
import java.util.stream.Collectors;
class Employee {
private String name;
private List<String> skills;
public Employee(String name, List<String> skills) {
this.name = name;
this.skills = skills;
}
public List<String> getSkills() {
return skills;
}
}
class Department {
private List<Employee> employees;
public Department(List<Employee> employees) {
this.employees = employees;
}
public List<Employee> getEmployees() {
return employees;
}
}
public class Main {
public static void main(String[] args) {
List<Employee> emp1List = Arrays.asList(new Employee("Alice", Arrays.asList("Java", "Python")),
new Employee("Bob", Arrays.asList("C++", "Java")));
List<Employee> emp2List = Arrays.asList(new Employee("Charlie", Arrays.asList("Python", "JavaScript")));
List<Department> departments = Arrays.asList(new Department(emp1List), new Department(emp2List));
long distinctSkillCount = departments.stream()
.flatMap(department -> department.getEmployees().stream())
.flatMap(employee -> employee.getSkills().stream())
.distinct()
.count();
System.out.println("不同技能的数量: " + distinctSkillCount);
}
}