首页 > 解决方案 > 有没有办法从多个列表中的另一个中减去一个 Object 属性值?

问题描述

我有几个列表。每月清单。其中包含的对象具有价值。目标是从第二个月对象的值中减去第一个月份对象的值。并保存新值

下一步是从第三个月的值中减去第二个月的原始值。并确保新的第三个月值。第三个月的原始值是从第四个月中减去等等。

现在,我在其他变体中做了什么,但我认为这是我得到的最接近的。

这是我的尝试之一

    //creates multiple ArrayLists in List, based on numbers of monthList
       for (int i = 0; i < monthList.size(); i++) {
           monthyList.add(new ArrayList<>());
       }

    List<Objecty> finalList = new ArrayList<>();

    for (int i = 0; i < monthyList.size(); i++) {
        List<Object> firstMonthList = monthyList.get(i);
        List<Object> nextMonthList = monthyList.get(i + 1);

        List<Object> copyOfNextList = List.copyOf(nextMonthList);

        for (int j = 0; j < firstMonthList.size(); j++) {
            Object firstMonthObject = firstMonthList.get(j);
            for (int k = 0; k < copyOfNextList.size(); k++) {
                Object nextMonthObject = copyOfNextList.get(k);
                if (nextMonthObject.getAccountNumber() == firstMonthObject.getAccountNumber()) {

                     nextMonthObject.setAmount(subtractAmount(firstMonthObject.getAmount(),nextMonthObject.getAmount()));
                    finalList.add(nextMonthObject);
                    break;
                }
        }
    }

    finalList.add....

}

所以不幸的是我不能再进一步了......在这种情况下使用 LinkedList 有什么好处吗?

我希望这个问题是可以理解的。

你能帮我改进代码吗?还是有更好的方法来解决这个问题?

标签: javalistarraylist

解决方案


推荐阅读