首页 > 解决方案 > 更新一个列表中的元素以匹配另一个列表中的特定元素

问题描述

我需要以下查询的帮助,

我有 2 个清单。

1)具有属性的人:姓名、年龄、地址、电话。

2)具有属性的帐户:accHolderName、类型、年龄、地址。

如果帐户列表中存在人员姓名,我想从帐户中设置人员的年龄和地址。

标签: java

解决方案


假设人的姓名是唯一的,您可以使用以下代码:

Map<String, Account> accountHolders = new HashMap<>();
for(Account account : accounts) {
    accountHolders.put(account.getAccountHolderName(), account);
}
for(Person person : persons) {
    if(accountHolders.containsKey(person.getName())) {
        person.setAge(accountHolders.get(person.getName()).getAge());
        person.setAddress(accountHolders.get(person.getName()).getAddress());
    }
}

然而,这不是最好的方法,因为在实践中我认为你可以有不同的人同名。

希望有帮助!


推荐阅读