📄 cart.java
字号:
package com.rmeng.shoppingCart.javabean.entity;import java.util.Collection;import java.util.HashMap;import java.util.Map;public class Cart{ /** * 保存购物车中的所有条目,key为每个条目的产品id,值为一个条目 */ private Map<Integer, Item> items = new HashMap<Integer, Item>(); /** * 当前购物车的总消费额 */ private double cost; /** * 在购物车中增加一个条目 将item添加到items,以及更新this.cost */ public void addItem(Item item) { items.put(item.getProduct().getPid(), item); cost += item.getCost(); } /** * 通过产品id,更新购物车中产品的数量 通过item获得itemid,并从Map items中找到对应的item, * 更新item,以及this.cost */ public void modifyItemNumber(Item item) { Item it = items.get(item.getProduct().getPid()); it.setNumber(item.getNumber()); // cost -= (it.getCost() - item.getCost()); } /** * 通过产品id删除购物车中一个条目 需要更新this.cost Integer productId 产品id */ public void removeItemByProductId(Integer productId) { cost -= items.get(productId).getCost(); items.remove(productId); } /** * 通过一组产品id删除购物车中一组条目 需要更新this.cost Integer[] productIds 一组产品id */ public void removeItemsByProductId(Integer[] productIds) { for (Integer pid : productIds) { removeItemByProductId(pid); } } /** * 清空购物车 */ public void clear() { items.clear(); cost = 0; } /** * 判断购物车是否为空,为空返回true,否则返回false */ public boolean isEmpty() { return items.isEmpty(); } public Cart() { } public Cart(HashMap<Integer, Item> items, double cost) { this.items = items; this.cost = cost; } public double getCost() { return cost; } public void setCost(double cost) { this.cost = cost; } public Map<Integer,Item> getItems() { return items; } public Collection getItem() { return items.values(); } public void setItems(HashMap<Integer, Item> items) { this.items = items; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -