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

iterator1 foreach {
    ...
}


val iterator2 = iteratorFunc.iterator

iterator2 foreach {
   ...
}

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

请帮忙。

4

2 回答 2

8

你应该复制它。

val (iterator1, iterator2) = iteratorFunc.iterator.duplicate
于 2015-01-29T21:21:30.343 回答
-1

好吧,使用duplicate()是超级昂贵的,因为next()函数是同步的。您还需要缓存这两个迭代器之间的差异。

于 2018-01-28T09:40:48.967 回答