2015-07-03 4 views
0

Если у меня есть список продуктов (инвентарный):Java: перенося элементы из одного ArrayList в другой ArrayList

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

После клиент выбирает данный продукт для покупки, я могу/как я могу удалить продукт из списка товаров (мой инвентарь) и поместите его в другой список (покупка покупателя)? Отсюда, если клиент решит, что он/она не хотел бы покупать продукт (перейдите к оформлению заказа), могу ли я/как удалить этот продукт с сайта ShoppingCart &, верните его в ProductList?

+1

Вы просматривали API-интерфейс списка в Java-документах? Что вы пробовали? –

ответ

2

Вы можете использовать методы List.remove(Product) и List.add(Product).

Просто убедитесь, что метод equals в классе Product реализован правильно, и поскольку метод remove() удаляет элемент из списка, если метод equals возвращает true.

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); 
} 

Кроме того, необходимо переопределить метод равных & хэш-код в своем классе продуктов.

Смежные вопросы