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

Java 将搜索到的对象和键从一个HashMap复制到另一个HashMap,java,iterator,hashmap,Java,Iterator,Hashmap,我现在有两门课。 主要内容: 我目前有一个products HashMap,其中product ID作为字符串,product类作为item的entitysdescription,price of item 我想创建一个我已经开始设置的方法,叫做scan方法。这将允许在参数CEL403或Pi342中键入id,然后查看HashMap(可能是迭代器)?并检索与之匹配的entryProduct。 然后我希望它将idString和附加的产品对象复制到另一个名为“scanned”的HashMap中。 然后

我现在有两门课。 主要内容:

我目前有一个products HashMap,其中product ID作为字符串,product类作为item的entitysdescription,price of item

我想创建一个我已经开始设置的方法,叫做scan方法。这将允许在参数CEL403或Pi342中键入id,然后查看HashMap(可能是迭代器)?并检索与之匹配的entryProduct。 然后我希望它将idString和附加的产品对象复制到另一个名为“scanned”的HashMap中。 然后,我可以多次运行scan方法,将更多产品添加到新创建的“扫描”HashMap中。然后,“扫描”哈希图将包含id为的扫描对象,我将能够计算扫描哈希图中项目的总成本。
这可能吗?我该怎么做呢。

因为映射键必须是唯一的,如果你按照你所描述的做,每个产品id只能得到一个条目。如果这就是你想要的,你应该这样做

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

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

因为我怀疑这是您需要的,所以您应该创建一个包含扫描产品或产品对以及id的扫描列表。

我该如何做?@Reddax您尝试过什么?你们应该分享更多关于你们当前的计算设计的细节。答案对我来说很好。正是我想要的。哇,那很容易。非常感谢。我如何从扫描的产品中获取所有价格,并将它们相加?双倍合计=0.0;forProduct项:已扫描列表解决方案的{total+=item.getPrice;}。对于地图解决方案,请使用产品项:scanned.getValuesWell是的,您必须有某种方式访问对象产品中的价格。因此,创建一个返回该值的方法,并使用它来计算总数。还有,这是我的错误,这是价值观而不是getValues。但是当你做类似的事情时,你应该使用JavaAPI来找到你需要的方法。
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);
Map <String, Product> scanned = new HashMap<String, Product>();

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