Java:将元素从一个ArrayList传输到另一个ArrayList

时间:2015-07-03 16:59:53

标签: java list arraylist

如果我有产品清单(库存):

public List<Product> productList = new ArrayList<>();

在客户选择要购买的产品后,我/我如何从productList(我的库存)中删除该产品并将其放入另一个列表(客户的购物车)?从这里,如果客户决定他/她不想购买产品(继续结账),我/我如何从shoppingCart&amp; amp;将它返回到productList?

2 个答案:

答案 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;产品类中的哈希码方法。