📄 cart.java
字号:
package com.estore.struts.entity;import java.util.Collection;import java.util.HashMap;import java.util.HashSet;import java.util.Iterator;import java.util.Map;import java.util.Set;public class Cart { private Map<Integer,CartProduct> products=new HashMap<Integer,CartProduct>(); private Collection<CartProduct> cartProducts = new HashSet<CartProduct>(); public Cart(){ } /* * 向购物车中添加一个商品,要封装成CartProduct类之后再存放到car的map中; */ public void addCart(Product product){ CartProduct cartProduct=new CartProduct(product,1); products.put(product.getProductid(), cartProduct); } /* * 向购物车中添加指定个数的商品 */ public void addCart(Product product,int num){ CartProduct cartProduct=new CartProduct(product,num); products.put(product.getProductid(), cartProduct); } /* * */// public void addCart(CartProduct cartproduct){// products.put(cartproduct.getProduct().getProductid(), cartproduct);// } public void removeCart(Product product){ CartProduct cartPro = products.get(product.getProductid()); this.products.remove(product.getProductid()); this.cartProducts.remove(cartPro); } public void removeCart(Integer id){ this.products.remove(id); } /* * 从购物车中提取所有的商品 */ public Map<Integer,CartProduct> getProducts() { return products; } public Collection<CartProduct> getCartProducts() { Set keys = products.keySet(); Iterator<Integer> it = keys.iterator(); while (it.hasNext()) { Integer productid = it.next(); CartProduct cartProduct = (CartProduct) products.get(productid); cartProducts.add(cartProduct); } return cartProducts; } /* * 向购物车中添加一组商品 */ public void setProducts(Map<Integer,CartProduct> productCart) { this.products = productCart; } /* * 判断购物车中是否已经存在商品 */ public boolean isExist(Product product){ return products.containsKey(product.getProductid()); } /* * 根据商品的id号判断购物车中是否已经存在商品 */ public boolean isExist(Integer productid){ return this.products.containsKey(productid); } /* * 修改某个商品的数量,先从购物车的map中取得这个商品的封装类, * 然后把封装类中记录的商品个数更改为指定数量,最后再保存到购物车中; */ public void modifyNum(Product product ,int num){ CartProduct cartProduct=products.get(product.getProductid()); cartProduct.setNum(num); products.put(product.getProductid(), cartProduct); } /* * 根据指定商品的id号来改变其购买的数量; */ public void modifyNum(Integer productid,int num){ CartProduct cartProduct=products.get(productid); cartProduct.setNum(num); products.put(productid, cartProduct); } public int getTotal_num() { return products.size(); } public double getTotal() { Set keys = products.keySet(); Iterator<Integer> it = keys.iterator(); /* * 这个求总和的变量最好设计为一个局部变量; */ double total = 0.0; while (it.hasNext()) { Integer productid = it.next(); CartProduct cartProduct = (CartProduct) products.get(productid); double price = cartProduct.getTotal(); total += price; } return total; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -