首页 > 解决方案 > 将具有相同名称的项目添加到 ArrayList 时出现问题

问题描述

以下代码的预期功能是创建(并返回)一个 ArrayList,其中包含U1填充存储在loadItemsArrayList 中的所有项目所需的所有(另一个类)。

我编写的代码在总重量不超过U1可以处理的最大值时起作用,所以问题是当我在 ArrayList 中创建一个新U1u1NeededArrayList时,当所有项目loadItems都加载完毕时,被退回。


    ArrayList<U1> loadU1() {

        ArrayList<U1> u1Needed = new ArrayList<>();
        U1 u1 = new U1();


        for (int i=0; i<=(loadItems().size()-1);) {

            if (u1.canCarry(loadItems().get(i))) {
                u1.carry(loadItems().get(i));
                i++;

            } else {
                u1Needed.add(u1);
                u1 = new U1();

            }

            if (i==(loadItems().size()-1)) {
                u1Needed.add(u1);
            }

        }

        return u1Needed;

     }

标签: javaarraylist

解决方案


推荐阅读