【问题标题】:How to solve java.util.NoSuchElementException: for HashMaps and ArrayLists?如何解决 java.util.NoSuchElementException:HashMaps 和 ArrayLists?
【发布时间】:2016-05-03 21:43:08
【问题描述】:
您好,所以我在两个实例中继续为我的代码使用 java.util.NoSuchElementException
首先:
它说
1)
java.util.ArrayList$ltr 中的 Java.util.NoSuchElementException null
线。我很困惑我是否需要 Hashmap 值和 Arraylist MaxCoPurchase 的迭代器?我只是很困惑。
2)
Java.util.NoSuchElementException 出现以下行:
在 (Java.util.HashMap$HashIterator) 中为空
我再次感到困惑。
如果有人可以帮助我并提出一些建议甚至是代码修复,那就太好了
【问题讨论】:
标签:
java
arraylist
graph
hashmap
【解决方案1】:
- 在第一种情况下,
maxCoPurchase 集合显然是空的,可能地图也是。
- 在第二种情况下,
maxMap 显然是空的。这是你应该重写的糟糕代码。当您保存最大值时,您还应该以某种方式直接保存其密钥,而不必搜索它。或者至少在你找到它后跳出循环。
- 在这两种情况下,您应该迭代条目集,而不是迭代键集并调用
get() 来获取关联的值,这会同时为您提供键和值。
【解决方案2】:
当集合为空(在您的情况下)或它不包含下一个值(尤其是在您迭代它时)时,将引发此异常。
第一种情况:对 Arraylist "maxCoPurchase" 进行适当的 null 检查将避免此异常。
第二种情况:对 HashMap "maxMap" 进行适当的 null 检查将避免此异常。
我希望这会有所帮助。