Bu nedenle, tüm petshops'ların toplamını aynı anahtarla ancak farklı değerler ile hesaplayan bu programa sahibim. Ancak, şimdi, her bir petshop'un ortalamasını aynı anahtarla hesaplamak istiyorum. Arraylist'te bir petshop'un kaç kez yer aldığını öğrenmek için bir tezgah kullanmayı düşünüyordum. Ama bu çalışmıyor. Her döngü için başka bir tane çalıştırmam gerekecek mi?aynı anahtarla hashmap değerlerinin ortalamasını hesaplama
public class AverageCost {
public void calc(ArrayList<Pet> pets) {
Map<String, Double> hm = new HashMap<>();
for (Pet i : pets) {
String name = i.getShop();
// If the map already has the pet use the current value, otherwise 0.
double price = hm.containsKey(name) ? hm.get(name) : 0;
price += i.getPrice();
hm.put(name, price);
}
System.out.println("");
for (String key : hm.keySet()) {
System.out.printf("%s: %s%n", key, hm.get(key));
}
}
bölebilirsiniz. Bir HashMap'de yinelenen anahtarlarınız olamaz. Yani, "her bir petshop'unun ortalamasını aynı anahtarla hesaplamak istiyorum" derken, her tuş için sadece bir giriş olacak. – Austin
Sen sayım için ikinci haritayı tanıtmak veya evcil hayvanların hem birikmiş fiyatı ve numarayı tutmak için haritadaki bileşik değeri nesneyi kullanabilirsiniz: 'Harita Belki hm' –
hoaz
Eğer HashMap üzerinde ortalamasını saklamak için çalışıyoruz, yok ? – marcellorvalle