如果我有产品清单(库存):
public List<Product> productList = new ArrayList<>();
在客户选择要购买的产品后,我/我如何从productList(我的库存)中删除该产品并将其放入另一个列表(客户的购物车)?从这里,如果客户决定他/她不想购买产品(继续结账),我/我如何从shoppingCart&amp; amp;将它返回到productList?
答案 0 :(得分:2)
您可以使用List.remove(Product)
和List.add(Product)
方法。
只需确保equals
类中的Product
方法正确实现,并且因为如果equals方法返回true,remove()
方法会从列表中删除元素。
答案 1 :(得分:1)
public List<Product> productList = new ArrayList<>();
public List<Product> shoppingCart = new ArrayList<Product>();
客户选择产品
shoppingCart.add(p); //p is the product object
检查客户是否结帐
boolean customerChecksOut = true;
if(customerChecksOut)
customerChecksOut(p);
else
customerDropsTheProduct(p);
void customerChecksOut(Product p){
productList.remove(p);
}
void customerDropsTheProduct(p)
{
shoppingCart.remove(p);
}
您还需要覆盖等于&amp;产品类中的哈希码方法。