如何在java中使用for循环动态添加元素到列表中?

6rvt4ljy  于 2021-07-12  发布在  Java
关注(0)|答案(1)|浏览(452)

编辑时间:
我有这些食物:肉、奶酪、苹果我为它们申报了清单:

List<String> foods = new ArrayList<>();
List<Integer> quantity = new ArrayList<>();

foods 我把他们的名字和名字储存在 quantity 他们的数量。一种食物的最大量是7。例如,如果我们要添加10块肉,必须这样储存:
列表索引0索引1食品质量73
有没有办法做到这一点,或者有其他(或更简单的)方法?

mdfafbf1

mdfafbf11#

创建一个对象来存储item(meat/apple/cheese)和quantity,使用while循环遍历quantity,并设置item对象。

private static final int MAX_ALLOWED_QUANTITY = 7;

public static void main(String[] args)
{
    List<Order> orderList = new ArrayList<Order>();
    placeOrder(orderList, "meal", 10);

    for (Order orderObj : orderList)
        System.out.println("Item - "+orderObj.getItem()+", Quantity - "+orderObj.getQuantity());
}

private static void placeOrder(List<Order> orderList, String item, int quantity)
{
    while (quantity > 0)
    {
        Order orderObj = new Order();
        orderObj.setItem(item);

        if (quantity >= MAX_ALLOWED_QUANTITY)
            orderObj.setQuantity(MAX_ALLOWED_QUANTITY);
        else
            orderObj.setQuantity(quantity);

        orderList.add(orderObj);
        quantity = quantity - MAX_ALLOWED_QUANTITY;
    }
}

输出

Item - meal, Quantity - 7
Item - meal, Quantity - 3

相关问题