在Iterator中调用next()两次会抛出NoSuchElementException

adn*_*eal 4 java android iterator

我正在从序列中检索多个值,但需要对来自同一序列的单独值集合执行两次.如果我打电话给其他人,一切都会正确回复给我,但是next()两次打电话会导致a NoSuchElementException.在网上阅读了这篇文章之后,我在调用next()一次之后收集了它,在再次调用它之后的任何其他时间基本上会返回迭代器false.你如何获得两组不同的数据Collection

while (ai.hasNext()) {
   String ao = ai.next().getImageURL(ImageSize.MEGA);
   String an= ai.next().getName();
}
Run Code Online (Sandbox Code Playgroud)

小智 8

您可以将next()存储为临时变量.使用您正在迭代的数据类型替换以下代码中的Object.

while(ai.hasNext()){
    Object temp = ai.next();
    String ao = temp.getImageUrl(ImageSize.MEGA);
    String an = temp.getName();
Run Code Online (Sandbox Code Playgroud)

}