java - 更新一个列表中的元素以匹配另一个列表中的特定元素
问题描述
我需要以下查询的帮助,
我有 2 个清单。
1)具有属性的人:姓名、年龄、地址、电话。
2)具有属性的帐户:accHolderName、类型、年龄、地址。
如果帐户列表中存在人员姓名,我想从帐户中设置人员的年龄和地址。
解决方案
假设人的姓名是唯一的,您可以使用以下代码:
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());
}
}
然而,这不是最好的方法,因为在实践中我认为你可以有不同的人同名。
希望有帮助!
推荐阅读
- ios - firebase 期望在我的 osx 钥匙串中找到什么?
- python - Keras 自定义损失函数中的错误 - tensotflow
- angularjs - 将字体真棒图标添加到选择中的选项
- html - 带有背景图像的透明标签页
- python - 导入另一个模块的 Python 导入模块
- android - 调用需要 API 26(最小为 18):android.app.NotificationChannel
- java - 无法访问 JAR 文件中的资源(媒体和图像)
- javascript - 如何使用 Entity Framework 传入 id 并路由到我的控制器
- mysql - 从多个最小值返回当前位置
- netlogo - 基于概率/点属性值和点距离移动代理,NetLogo