// iteratorFunc is Iterable[SomeClass]
val iterator1 = iteratorFunc.iterator
iterator1 foreach {
...
}
val iterator2 = iteratorFunc.iterator
iterator2 foreach {
...
}
iterator1 foreach
内的代码已成功完成。但是,iterator2给出了空迭代器。
请帮忙。
答案 0 :(得分:7)
你应该duplicate。
val (iterator1, iterator2) = iteratorFunc.iterator.duplicate
答案 1 :(得分:-1)
好吧,使用duplicate()
非常昂贵,因为next()
函数是同步的。您还需要缓存这两个迭代器之间的差异。