Ben iki HashmapsHashMap almak döner boş
HashMap<Integer, Integer> inventoryRequirements = new HashMap<Integer, Integer>();
HashMap<Integer, Integer> inventory = new HashMap<Integer, Integer>();
Ben şimdiki denetler ve bu ekler bir döngü:
for(Item item : items){
int currentRequirement = 0;
currentRequirement = inventoryRequirements.get(item.get_id());
inventoryRequirements.put(item.get_id(), currentRequirement++);
}
Ben envanter kontrol eder ve bu ekler başka döngü:
for(Item item : items){
int currentInventory = 0;
// this next line returns null
currentInventory = inventory.get(item.get_id());
inventory.put(item.get_id(), currentInventory++);
}
Birincisi iyi çalışır, ancak ikincisi peki ve bir boş döndürür. Neden ikincinin işe yaramadığını anlamıyorum. Her ikisi de başlangıçta kod örneğinde gösterildiği gibi aynı durumda.
DÜZENLEME burada gördüğünüz gibi
iki HM doldurulan - gerçekten! İnanması zor olabileceğini biliyorum, ancak ilk iş ve ikincisi işe yaramıyor.
Hiç bir şeyi "envantere" soktun mu? Ayrıca, neden Harita <Öğe, Tamsayı> 'yi kullanmıyorsunuz? – Jeffrey
"envanterRequirements" boş başlatılırsa, ilk döngü de başarısız olur. – Joni
Hiç bir şey koymak için çizgiye asla ulaşmaz. Bunun yerine neden Harita'ya değil - bunun için iyi bir cevabım yok - gerçek bir avantaj var mı? –