【问题标题】:Merge two object lists in java of the same type [closed]合并相同类型的java中的两个对象列表[关闭]
【发布时间】:2021-11-13 06:13:11
【问题描述】:

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

预期结果= 输出[姓名=abc,年龄=56,体重=70]

【问题讨论】:

  • 非常感谢,但我的对象类中有 40 个属性
  • 一个类有 40 个属性,我会认真地重新考虑设计。
  • 我正在从 sql sever 获取数据,并且该表有那么多列
  • 我可以一个一个地分配它们,但这会非常耗时,那么有没有更快的方法呢?

标签: java arraylist data-structures merge tobjectlist


【解决方案1】:

抱歉,第一次看错了你的问题。

这是您要遵循的过程(问题有点不清楚,所以我假设一个属性是否为空是一个专有的东西 - 例如,如果 A 的权重为空,那么 B 必须有一个非零重量)。

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

  2. 在每次迭代中,创建一个新对象。然后检查 List A 中对象的每个属性 - 如果为 null,则添加 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);
}

【讨论】:

    猜你喜欢
    • 2019-06-09
    • 1970-01-01
    • 2020-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多