将值从一个哈希映射复制到另一个

时间:2021-02-02 03:31:26

标签: java java-8 functional-programming hashmap

我有两个哈希图

Map<String, Employee> employees
Map<String, Address> address

以及 Employee 和 Address 类如下所示:

class Employee {
 String name,
 String city
}

class Address {
 String city
}

如果这两个哈希映射(员工和地址)之间的键匹配,如何将城市值从“地址”哈希映射复制到“员工”哈希映射的 Employee 对象中的城市?

我想在没有 for 循环的情况下以声明方式使用功能性 java 8 进行复制。

1 个答案:

答案 0 :(得分:1)

您实际上是在尝试操作 employees 映射,如果您只想对其使用 lambda,则可以这样做,假设 employeesaddress 中的键匹配:

address.entrySet().forEach(entry -> employees.get(entry.getKey()).setCity(entry.getValue().getCity()));

也可以改写为

address.forEach((key, val) -> employees.get(key).setCity(val.getCity()));

不使用 entrySet()