ハッシュマップに同じキーを持つすべての値を追加する必要があるという問題があります。データ(ペットショップとペットの価格)はArrayListから取得されます。現時点では、同じ名前のペット価格が異なる複数のショップがあるため、プログラムは各ショップの最終価値のみを取得します。私は各ショップのペット価格を合計できるようにしたいと思います。例:
法律ペットショップ:7.00
と別の法律ペットショップ:5.00、
私はこのように出力したいと思います:
法律ペットショップ:13.00。出力この時点で同じキーでハッシュマップ値を合計する方法java
public class AverageCost {
public void calc(ArrayList<Pet> pets){
String name = "";
double price = 0;
HashMap hm = new HashMap();
for (Pet i : pets) {
name = i.getShop();
price = i.getPrice();
hm.put(name, price);
}
System.out.println("");
// Get a set of the entries
Set set = hm.entrySet();
// Get an iterator
Iterator i = set.iterator();
// Display elements
while(i.hasNext()) {
Map.Entry me = (Map.Entry)i.next();
System.out.print(me.getKey() + ": ");
System.out.println(me.getValue());
}
}
}
されています:
は、ここでは、コードと出力され
水生アクロバット:7.06
ブライヤーパッチのPet Store:5.24
プレストンペット:18.11
の動物園:18.7
ギャレーペット:16.8
げっ歯類以外のもの:8.53
Petsmart:21.87
Morrisペットと供給:7.12
または8)?期待される結果は何ですか? –
'HashMap'は重複するキーを持つことができません。同じキーに関連付けられた値は1つだけなので、質問はあまり意味がありません。 –
@NicolasFilotto私は7を使用しています –