当前位置: 首页 > 知识库问答 >
问题:

如何添加HashMap中的所有值?

寿和通
2023-03-14

这是我的hashmap的商店代码片段,包含商品和价格:

HashMap<String, Double>stock= new HashMap<String, Double>(); 
stock.put("eggs",1.79);
stock.put("orange juice",2.5); 


public static double price(HashMap<String, Double>stock){

    HashMap<String, Integer>cart = new HashMap<String, Integer>();
    cart.put("eggs", 2);
    cart.put("orange juice", 2);
}

这是我的杂货车,其中int表示一辆车中每件商品的数量。我对HashMaps非常陌生,对于如何将stock map引用到price方法中并正确地将其相加感到非常困惑。理论上,这个问题的最终答案是2个鸡蛋和2盒橙汁的价格。非常感谢您的帮助

共有1个答案

宿嘉庆
2023-03-14

上面的人已经给了您代码片段,但是我将根据Chris Bertasi的回答更详细地介绍发生了什么,因为您是HashMaps的新手,这是最容易阅读的。

HashMap<String, Double>stock= new HashMap<String, Double>(); 
stock.put("eggs",1.79);
stock.put("orange juice",2.5); 

这个代码片段所做的是创建一个Hashmap,您可以将其视为类似于具有两列的关系数据库。其中的列是Key和value。

我们附加的第一个东西(“eggs”)是我们用来查找它也附加了什么的密钥(1.79),然后将同样的东西添加到OJ。产生的Hashmap如下所示。

Item (Key)    | Price (Value)
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
egg           | 1.79
orange juice | 2.5

为了迭代我们的股票,我们可以使用:

for (String item: cart.keySet())

它将查看键集(即键列),每次获取一个键,并将其设置为项变量。

利用这些知识,我们可以通过库存和购物车来获得每个商品的价格和用户购买的金额。

double amount = cart.get(item); 
double price = stock.get(item); 
totalCost += amount * price;
double totalCost = 0;
for (String item: cart.keySet()) {
    double amount = cart.get(item);
    double price = stock.get(item);
    totalCost += amount * price; 
}
return totalCost;
 类似资料:
  • 我在div里有100个按钮: 我想在引导样式中样式化所有按钮。所以,我需要到处换衣服 有可能吗?正确的语法是什么? 谢谢你!!

  • 在java中,我试图添加一对相加到一定数量的数组,我尝试的方法之一是在HashMap中创建一个双ArrayList。如果我在列表中添加1和2,我将得到3作为键。例如: 输出如下所示 如果我再加一对 但是我一直得到一个'方法不适用于HashMap类型 我也试过了 我想我可能需要先初始化更大的矩阵,但遗憾的是,我最终还是出现了同样的错误。

  • 问题内容: 我试图将值添加到具有以下结构的多值HashMap中: 我其实是想坚持一个特定项目(A View的Android中的如信息)的引用,所以值将包含的项目是唯一的,的旨意所包含的项X坐标值。用户在屏幕上可以有很多项目,他也可以有100个具有相同ID的项目,因此相应地,列表将包含每个项目X坐标值。 更清楚地说,我的HashMap将包含以下数据 {1,{200,400.5,500.6 …}},其

  • 假设我有 100 个带字段的文档 地址 现在假设我的业务模式正在改变,我想添加新的现场呼叫。 如何在所有100个文档中添加?NoSQL数据库上有这样的东西吗?

  • 这个程序跟踪陈列室出售的汽车。制度应该允许他 添加新车 在注册号上获取特定汽车的详细信息 获取所有汽车的详细信息 以下是我的研究成果: 只有系统必须检索所有汽车的数据时没有工作,因为当我选择该选项时没有显示任何内容。

  • 编辑问题以包括所需的行为、特定问题或错误以及重现问题所需的最短代码。这将有助于其他人回答这个问题。 这是我的日志 法典: