斯卡拉:什么是特质TraversableOnce?TraversableOnce和Traversable之间有什么不同?

Guo*_*Guo 6 scala

TraversableOnce:"集合的模板特征,可以遍历一次或一次多次."

我不明白这句话.为什么可以遍历更多次?不仅一次吗?谢谢!

col*_*ebb 15

Scaladoc还表示,

这个特性主要是为了消除Iterator和Traversable之间的代码重复,因此实现了一些只能在foreach不访问Builder 的情况下实现的常用方法.

迭代器只能被"遍历"一次.可以遍历Traversable多次.

从本质上讲,TraversableOnce是一个接口,它抽象出你如何处理Iterators和Traversables.您的代码可以接收Iterator或Traversable,并以完全相同的方式处理它们!

为了很好地解释Collections库中使用的许多特性,我相信大多数(如果不是全部)Scala 2.8 Collections Design Tutorial仍然是正确的.