java - 将一个对象拆分为对象列表 - 需要 JAVA8 解决方案
问题描述
我有以下代码,其中我有一个具有多个角色的员工对象。我想将此单个员工对象拆分为多个员工对象,每个对象只有一个角色。
public class Employee {
private String empId;
private String empName;
private List<String> empRoles;
}
现在我有一个返回类型为 List 的方法
public List<Employee> splitEmployeObj(Employee emp) {
// code logic goes here
}
// sample input : { empId:'123',empName:'john',empRoles:['Developer','Tester'] }
// sample output : [ { empId:'123', empName:'john',empRoles : ['Developer'] },
{ empId:'123', empName:'john',empRoles : ['Tester']]
有人可以帮助提供有效的 java8 解决方案。
解决方案
流式传输角色并映射到新员工:
public List<Employee> splitEmployeObj(Employee emp) {
return emp.getEmpRoles()
.stream()
.map(role -> new Employee(emp.getEmpId(), emp.getEmpName(), Collections.singletonList(role)))
.collect(Collectors.toList());
}
推荐阅读
- wordpress - Flatsome UX builder 未在后端加载页面。
- r - 我如何为除 2 个变量之外的所有变量匹配的案例对数据框进行子集化?
- python - 无法使用 twinx 清除子图和重新绘制
- c++ - Makefile:目标“foo.o”的配方失败
- build - Laravel artisan 的 Google Cloud Build 失败,涉及数据库连接
- c# - 如何将 SQL Server 与 Unity 连接?
- javascript - 等待aysnc调用每个
- android - 使用 dagger2 更改在应用程序类中初始化的改造 baseurl
- sql - sp_execute 不支持超过 4000 个字符的动态 SQL 查询
- json - 如何在 GJSON 中循环切片