我有一个Employee类,其中包含一个地址列表
class Employee {
String name;
Integer age;
List<String> address;
Integer salary;
}
Employee object : E1
Employee
name: Raghu
age : 37
address: [bangalore,chennai]
Salary : 25000
我希望将其转换为地址扁平化的List,如下所示。对于上面的对象,我需要一个List
List<Employee>
Element 1:
name: Raghu
age : 37
address: bangalore
salary: 25000
Element 2:
name: Raghu
age: 37
address: chennai
salary: 25000
如何使用java 8 lambda表达式执行此操作?
答案 0 :(得分:3)
将address
变量重命名为addressList
以便更好地理解。
您的员工拥有多个地址,并希望拥有多个(重复)员工,只有一个地址?
检查出来:
public List<Employee> getEmployees() {
return addressList.stream()
.map(address ->
new Employee(name, age, Arrays.asList(address), salary))
.collect(Collectors.toList());
}
我假设你可以使用像
这样的构造函数
public Employee(String name, int age, List<String> addressList, int salary)
。
此处name
,age
,addressList
和salary
是Employee
类中的实例变量。