首页 > 解决方案 > 在java中合并两个相同类型的对象列表

问题描述

如何在 java 中合并两个对象列表,例如:我有 2 个列表 listA listB,每个列表有一个对象,例如 listA[name=abc,age=56, weight=null] listB[name=Null,age=Null,weight=70 ]

预期结果=输出[name=abc,age=56, weight=70]

标签: javaarraylistdata-structuresmergetobjectlist

解决方案


对不起,第一次读错了你的问题。

这是您要遵循的过程(问题有点不清楚,所以我假设属性是否为 null 是专有的 - 例如,如果 A 具有空权重,则 B 必须具有非空权重) .

  1. 循环浏览您的列表一次。

  2. 在每次迭代中,创建一个新对象。然后检查列表 A 中对象的每个属性 - 如果它为空,则添加 B 中的相应属性。

  3. 将新对象添加到列表中。

  4. 继续迭代

List<Object> newList = new ArrayList<Object>();
for (int i = 0; i < listA.size(); i++) {
    Object newObject = new Object();
    Object objectA = listA.get(i);
    if (objectA.getProperty1() == null) {
       newObject.setProperty1(listB.get(i).getProperty1());
    }
    // repeat this with your other properties
    newList.add(newObject);
}


推荐阅读