我需要选择一个系列

时间:2016-03-10 23:04:16

标签: java collections

这是我的具体任务:

  

我必须实施地址,客户,产品。

     

在EComDB类中,搜索/删除Customer或的函数   产品。您需要选择一个集合来容纳这些客户   和产品。

我正在寻找有关如何开始这条道路的任何好的提示/建议或教程。请记住,我是Java的新手。

提前感谢您的任何指示。

以下是带有骨骼构造函数的Product类的开头。

package blah;

public class Product {
    private String sku;
    private String name;
    private String desc;
    private double price;
    private long quantityOnHand;
    public Product (String sku, String name, String desc,double price, long quantityOnHand) {

    }
    public String getSku() {
        return sku;
    }
    public void setSku(String sku) {
        this.sku = sku;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getDesc() {
        return desc;
    }
    public void setDesc(String desc) {
        this.desc = desc;
    }
    public double getPrice() {
        return price;
    }
    public void setPrice(double price) {
        this.price = price;
    }
    public long getQuantityOnHand() {
        return quantityOnHand;
    }
    public void setQuantityOnHand(long quantityOnHand) {
        this.quantityOnHand = quantityOnHand;
    }
}

以下是我在EComDB类中开始的内容:

package blah;


public class EComDB {

    // TODO choose a collection data structure to store Customer and Product

    public Customer searchById(String id) {
        return null;
    }

    public void addCustomer(Customer c) {

    }

    public void removeCustomer(String id) {

    }

    public Product searchBySku(String sku) {
        return null;
    }

    public void addProduct(Product p) {

    }

    public void removeProduct(String sku) {

    }

}

1 个答案:

答案 0 :(得分:2)

很多都很合适,但如果Product.skuCustomer.id是唯一的,我可能会使用HashMap,您可以将它们用作Map键,以便在您实施的查找方法中快速访问。

初始化:private Map<String, Customer> customers = new HashMap<>();

插入:customers.put(yourCustomerObject.getId(), yourCustomer);

查找:customers.get(id);

等...

HashSet也是保证其中唯一对象的好方法,但是Map更方便检索,而且由于你正在学习,它是一个非常有用的集合,你应该熟悉。