我有两个哈希图
Map<String, Employee> employees
Map<String, Address> address
以及 Employee 和 Address 类如下所示:
class Employee {
String name,
String city
}
class Address {
String city
}
如果这两个哈希映射(员工和地址)之间的键匹配,如何将城市值从“地址”哈希映射复制到“员工”哈希映射的 Employee 对象中的城市?
我想在没有 for 循环的情况下以声明方式使用功能性 java 8 进行复制。
答案 0 :(得分:1)
您实际上是在尝试操作 employees
映射,如果您只想对其使用 lambda,则可以这样做,假设 employees
和 address
中的键匹配:
address.entrySet().forEach(entry -> employees.get(entry.getKey()).setCity(entry.getValue().getCity()));
也可以改写为
address.forEach((key, val) -> employees.get(key).setCity(val.getCity()));
不使用 entrySet()