如何将scala.collection.Iterator包含数千个对象的转换为scala.collection.immutable.Vector?
我不相信我可以使用_*因为项目的数量.
Rex*_*err 14
您可以
Vector() ++ myIterator
Run Code Online (Sandbox Code Playgroud)
这给出了正确类型的正确的东西.对于非常小的向量和迭代器,在高性能循环中,您可能希望
val b = Vector.newBuilder[WhateverType]
while (myIterator.hasNext) { b += myIterator.next }
b.result
Run Code Online (Sandbox Code Playgroud)
它完成了创建矢量所需的最少工作(据我所知). toIndexedSeq基本上这样做,但返回一个更通用的类型(所以你实际上Vector并没有保证,即使它Vector现在返回一个.)