創建一個ProductList類,該類有一個ArrayList字段和一個整數集以跟蹤已添加的ID。當您添加一個項目時,請檢查該設置是否已經包含該項目的ID。如果沒有,請將該項目添加到ArrayList。所以這基本上很好地包裝了一個ArrayList。這是我會怎麼做:
public class ProductList{
...
private ArrayList<Product> list = new ArrayList<Product>();
private Set<Integer> ids = new Set<Integer>();
...
public void addProduct(Product product){
if(!ids.contains(product.getID())){
list.add(product);
ids.add(product.getID());
}
}
public Product removeProduct(Product product){
if(!list.contains(product)) return null;
ids.remove(product.getID());
return list.remove(product);
}
...
}
然後,您可以只使用
ProductList stock = new ProductList();
和stock.addProduct(Product item);
在你的其他類。
如果你認爲你將會使用你的列表,那麼創建實際的構造函數來集成你的數據字段也會非常有用。
從抽象的角度來看,這是一個很好的方法,但它可能不是最有效的方法。
嗯......代碼是無效的java。再試一次。 –
@radder,你打開更改'股票'的類型設置?這將解決您的問題。 – Santosh
你的意思是你有一個產品類型的對象,其中包含一些成員,你不知道如何訪問特定的成員? –