我有员工名单。我需要获取每个部门和子部门的员工 ID 列表,
class Employee{
int id;
String name;
String department;
String subDepartment;
}
我检查了很多教程并尝试过,但没有成功。
employeeList.stream()
.collect(Collectors.toMap(empl->empl.getDepartment(), // get sub-departmets and empId list for each sub-departmets));
我需要这样的结果,
{Dept1={subDept1=[1, 2], subDept2=[3, 4, 5]}
有人可以帮我吗?
最佳答案
您可以使用groupBy
,
employeeList.stream()
.collect(Collectors.groupingBy(Employee::getDepartment,
Collectors.groupingBy(Employee::getSubDepartment,
Collectors.mapping(Employee::getId, toList()))));
关于java - 使用 Streams 获取每个子部门和部门的员工,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61156305/