这是我的具体任务:
我必须实施地址,客户,产品。
在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) {
}
}
答案 0 :(得分:2)
很多都很合适,但如果Product.sku
和Customer.id
是唯一的,我可能会使用HashMap,您可以将它们用作Map键,以便在您实施的查找方法中快速访问。
初始化:private Map<String, Customer> customers = new HashMap<>();
插入:customers.put(yourCustomerObject.getId(), yourCustomer);
查找:customers.get(id);
等...
HashSet也是保证其中唯一对象的好方法,但是Map更方便检索,而且由于你正在学习,它是一个非常有用的集合,你应该熟悉。