另一个循环中的迭代循环

Iteration loop inside another loop

有什么方法可以在另一个循环中使用迭代器吗? 我问这个是因为我找不到在第一个循环完成后再次将迭代器放在列表开头的方法,因此在第二个循环中 iter.hasNext() 会给我 false

Iterator iter = list.iterator();
for (int i=0;i<30;i++)
{
 while (iter.hasNext())
 {
  ...
 }

}

您可以在外循环中重置迭代器:

for (int i=0;i<30;i++) {
    Iterator iter = list.iterator();
    while (iter.hasNext()) {
        Object obj = iter.next();
    }
}
Iterator iter;
for (int i=0;i<30;i++)
{
    iter = list.iterator();
    while (iter.hasNext())
     {
      ...
     }

}

迭代器在循环的第一个周期中被消耗 (i==0)。要解决此问题,您需要在循环内重新初始化 item 引用。最好!