复制搜索到的对象&键入一个HashMap到另一个

时间:2015-02-05 14:54:21

标签: java iterator hashmap

我目前有两节课。 主:

public class Main {

    HashMap <String, Product> products = new HashMap<String, Product>();

    public Main() {

        products.put("Cel403", (new Product("Chocolate sundae", 5.99)));
        products.put("Pi342", (new Product("Baseball Bat", 1.50)));
    }

    public void scan(String id) {

    }

产品:

public class Product {
    private String descr;
    private double price;

    public Product(String descr, double cost) {
        this.descr = descr;
        this.cost = cost;   
    }

    public String toString() {
        return (" Description: " + descr + " Cost: " + cost);

我目前有一个产品HashMap设置,产品ID作为字符串,Product类作为实体(项目描述,项目价格)。

我想创建一个我已经开始设置的方法,称为扫描方法。这将允许在参数中键入一个id(&#34; Cel403&#34;或者#34; Pi342&#34;),然后查看HashMap(也许是一个迭代器?)并检索条目(Product)这符合。 我希望它然后将(id)String和附加的Product对象复制到另一个名为&#39; scanning&#39;的HashMap中。 然后,我可以多次运行扫描方法,将更多产品添加到新创建的“扫描”中。 HashMap中。 &#39;扫描&#39;然后,HashMap将包含具有id的扫描对象,并且我将能够计算扫描的HashMap中项目的总成本。 这可能吗?我将如何做到这一点。

1 个答案:

答案 0 :(得分:0)

由于Map键必须是唯一的,如果你按照你的描述进行操作,那么每个产品ID只能获得一个条目。如果这就是你要找的东西,你应该做这样的事情

Map <String, Product> scanned = new HashMap<String, Product>();

public void scan(String id) {
    scanned.put(id, products.get(id));
}

由于我怀疑这是您所需要的,因此您应该扫描包含扫描产品或产品对及其ID的列表。