注:通过重写equals和hashCode两个方法实现往Set中添加商品时,同一种商品在购物车中不被当作两个元素。
public class CartDemo{
public static void main(String[] args) {
Map<Goods,Integer> cart = new HashMap<>();
//第一次购买1号商品3个
Goods key = new Goods(1,“honor”,22,“honor.jpg”);
int amount =3;
addGoods2Cart(cart, key, amount);
//第二次购买1号商品4个
key =new Goods(1,“honor”,22,“honor.jpg”);
amount =4;
addGoods2Cart(cart,key,amount);
//第三次购买3号商品1个
key =new Goods(3,“xiaomi”,11,“xiaomi.jpg”);
amount =1;
addGoods2Cart(cart,key,amount);
cart.forEach((k,v)-> System.out.println(k+" : "+v));
}
private static void addGoods2Cart(Map<Goods, Integer> cart, Goods key, int amount) {
if(car