嗨,我有两个对象列表。列表1和列表2
App1 中的员工列表
list1
[id=1, name=Thomas, country=null],
[id=2, name=Smith, country=null],
[id=3, name=james, country=null],
[id=4, name=arun, country=null]]
guest 员工
list2
[id=3, name=null, country=JAPAN, address=abc],
[id=2, name=null, country=USA, address=def],
[id=4, name=null, country=ENGLAND, address=hij]]
list1 包含名称详细信息,list2 包含国家/地区详细信息。 如何将 ID 与 list1 相同的相应对象的国家/地区从 list2 复制到 list1。
在sql中,我们可以很容易地通过ID列连接并执行它。但这里使用单独的 API 来读取 list2。
我可以从 list2 创建 map 并将 EmpId 作为键,并继续从 map 获取对象并将详细信息设置为 list1。
想知道是否有更好的方法来做到这一点。
基本上我必须循环两次才能将数据放入list1。
循环1创建Map,循环2复制字段。
最佳答案
- 为您的实体创建类
- 创建 map
HashMap<Integer, YourClass> map;
对于源数据列表。使用Id字段值作为map中的键。 - 创建
List<YourClass> list;
获取目标数据。 - 迭代您的项目目标列表并使用
get
map 方法快速获取实体所在国家Id
for (YourClass item : list) {
item.setCountry(map.get(item.getId()));
}
关于java - 在java中将匹配字段从一个对象列表复制到另一个对象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58503409/