如何在scala中使用迭代器方法迭代两次

Ani*_*hah 1 scala scala-2.11

// iteratorFunc is Iterable[SomeClass]
val iterator1 = iteratorFunc.iterator

iterator1 foreach {
    ...
}


val iterator2 = iteratorFunc.iterator

iterator2 foreach {
   ...
}
Run Code Online (Sandbox Code Playgroud)

里面的代码iterator1 foreach成功完成.但是,iterator2给出了空迭代器.

请帮忙.

小智 7

你应该复制它.

val (iterator1, iterator2) = iteratorFunc.iterator.duplicate
Run Code Online (Sandbox Code Playgroud)