2016-01-27 58 views
1

嗨所以我一直在具有java.util.NoSuchElementException對我的代碼在兩種情況下如何解決java.util.NoSuchElementException:對於HashMaps和ArrayLists?

在第一個例子: 它說

1)

Java.util.NoSuchElementException空java.util中.ArrayList $ ltr

line。我很困惑,我是否需要迭代器來同時處理Hashmap值和Arraylist MaxCoPurchase?我只是很困惑。

2)當

Java.util.NoSuchElementException想出了以下行的第二時刻: 空的(java.util.HashMap中$ HashIterator)

我再次困惑。 如果有人可以幫助我,有一些建議,甚至代碼修復,這將是巨大的

回答

0
  • 在第一種情況下,maxCoPurchase收集顯然是空的,大概的地圖也是如此。
  • 在第二種情況下,maxMap顯然是空的。這是你應該重寫的糟糕的代碼。當你保存最大值時,你應該直接保存它的密鑰,而不必搜索它。或者至少在你找到它的時候跳出循環。
  • 在這兩種情況下,不是迭代密鑰集並調用get()以獲取關聯值,您應該迭代條目集,這會同時爲您提供密鑰和值。
0

當集合爲空(在您的情況下)或它不包含下一個值(特別是在迭代它時)時引發此異常。

第一種情況:對Arraylist「maxCoPurchase」進行適當的空檢查可以避免此異常。 第二種情況:對HashMap「maxMap」進行適當的空檢查將避免此異常。

我希望這會有所幫助。

相關問題