當前位置:編程學習大全網 - 編程語言 - 編程 java 關於購物車

編程 java 關於購物車

點擊數量進入購物車頁面,這個應該好做吧,跳動壹個Action轉發到購物車頁面

下面是我的圖書購物車(自己寫的)

package com.jc.ts.services;

import java.math.BigDecimal;

import java.util.Collection;

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;

import com.jc.ts.entity.BookCar;

import com.jc.ts.entity.BookInfo;

/**

* 該類提供購物車的操作

* */

public class CartItemsService {

private Map<String,BookCar> itemMap=null;//購物車Map集合

private Collection<BookCar> items;//購物車項

public CartItemsService()

{

itemMap=new HashMap<String ,BookCar>();

}

public Collection<BookCar> getItems() {

return items;

}

public void setItems(Collection<BookCar> items) {

this.items = items;

}

public Map<String, BookCar> getItemMap() {

return itemMap;

}

public void setItemMap(Map<String, BookCar> itemMap) {

this.itemMap = itemMap;

}

public int getBookCarSize()

{

return itemMap.size();

}

public boolean containById(String bookid)

{

return itemMap.containsKey(bookid);

}

public void addBookCarItems(BookInfo bookInfo)

{

if(bookInfo!=null)

{

BookCar bookCar=(BookCar)itemMap.get(bookInfo.getBid());

if(bookCar==null)

{

bookCar=new BookCar();

bookCar.setBookinfo(bookInfo);

bookCar.increaseQuantity();

itemMap.put(bookInfo.getBid(),bookCar);

items=itemMap.values();

}else {

bookCar.increaseQuantity();

}

}

}

public BookInfo removeCarItem(String bookid)

{

BookCar bookCar=itemMap.remove(bookid);

if(bookCar==null)

{

return null;

}

items=itemMap.values();

return bookCar.getBookinfo();

}

public BigDecimal getBookCarTotal()//獲得總金額

{

BigDecimal carTotal=new BigDecimal("0.00");

Iterator<BookCar> iterator=this.getAllCartItems();

while(iterator.hasNext())

{

BookCar bookCar=iterator.next();

BigDecimal carPrice=bookCar.getBookinfo().getBprice();

BigDecimal quantity=new BigDecimal(String.valueOf(bookCar.getQuantity()));

carTotal=carTotal.add(carPrice.multiply(quantity));

}

return carTotal;

}

public Iterator<BookCar> getAllCartItems(){

return itemMap.values().iterator();

}

public void increaseQuantityById(String bookid)

{

BookCar bookCar=itemMap.get(bookid);

if(bookCar!=null)

{

bookCar.increaseQuantity();

}

}

public void setQuantityById(String bookid,int quantity)//根據圖書ID增加數量

{

BookCar bookCar=itemMap.get(bookid);

if(bookCar!=null)

{

bookCar.setQuantity(quantity);

}

}

public void clear(){

itemMap.clear();

}

}

修改後傳入這個方法就可以了setQuantityById()

★★★ 註意購物車壹定要用Map 不能用List或ArrayList

因為購物車是顧客頻繁操作的功能

Map在取值或刪除值的效率比List或ArrayList要高的多

它基本不需要時間,而List或ArrayList還要遍歷。。。。。。

希望對妳有幫助!!

  • 上一篇:合肥有哪些大的軟件公司,或者外包公司?
  • 下一篇:坦洲3D遊戲建模培訓畢業壹個月能拿多少錢?
  • copyright 2024編程學習大全網