我有一个 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<Employee>
Element 1:
name: Raghu
age : 37
address: bangalore
salary: 25000
Element 2:
name: Raghu
age: 37
address: chennai
salary: 25000
如何用 java 8 lambda 表达式做到这一点?
最佳答案
重命名 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
中的实例变量类。
关于java - 展平对象并转换为列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42774569/