java - 在java中将匹配字段从一个对象列表复制到另一个对象列表

标签 java arraylist

嗨,我有两个对象列表。列表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复制字段。

最佳答案

  1. 为您的实体创建类
  2. 创建 map HashMap<Integer, YourClass> map;对于源数据列表。使用Id字段值作为map中的键。
  3. 创建List<YourClass> list;获取目标数据。
  4. 迭代您的项目目标列表并使用 get map 方法快速获取实体所在国家Id
for (YourClass item : list) {
   item.setCountry(map.get(item.getId()));
}

关于java - 在java中将匹配字段从一个对象列表复制到另一个对象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58503409/

相关文章:

java - 检查 ArrayList 对象的实例

java - 尝试使用 ArrayList 创建矩阵?

java - 访问 ArrayList 内部的 ArrayList 时出现 ArrayOutOfBoundsException

java - 添加搜索 ListView 的功能

java - Android MediaPlayer 音量很低(已调整音量)

java - ComboBox 不监听事件

java - 如何为从 Eclipse 执行的 Tomcat 实例设置 JVM 选项

java - 在 ArrayList 中查找可被 3 整除的数字

Java JOGL : How can create an image using both GL and Graphics?

java - 系统范围 Jar 引发未找到类异常