将搜索到的对象和键从一个 HashMap 复制到另一个

Copy a searched Object & Key from one HashMap into another

我目前有两个 class。 主要:

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 作为字符串,产品 class 作为实体(商品描述,商品价格)。

我想创建一个我已经开始设置的方法,称为扫描方法。这将允许将 id 输入参数("Cel403" 或 "Pi342"),然后将查看 HashMap(也许是迭代器?)并检索与之匹配的条目(产品)。 我希望它随后将 (id)String 和附加的 Product 对象复制到另一个名为 'scanned' 的 HashMap 中。 然后我可以 运行 多次扫描方法,将更多产品添加到新创建的 'scanned' HashMap 中。然后 'scanned' HashMap 将包含具有 id 的扫描对象,我将能够计算扫描的 HashMap 中项目的总成本。 这可能吗?我该怎么做。

由于地图键必须是唯一的,如果您按照您的描述进行操作,则每个产品 ID 只会获得一个条目。如果这就是你要找的,你应该做这样的事情

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

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

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