Stream v.SeqView

时间:2013-12-23 16:19:37

标签: scala

SeqView上使用Stream的用例是什么?

scala> List(1,2).view
res34: scala.collection.SeqView[Int,List[Int]] = SeqView(...)

scala> List(1,2).view.toStream
res33: scala.collection.immutable.Stream[Int] = Stream(1, ?)

也许如果您需要访问Stream的中间位置且访问Stream元素的成本很高,那么您是否使用SeqView

1 个答案:

答案 0 :(得分:2)

SeqView并不比Stream便宜。事实上,访问SeqView中的元素比Stream更昂贵,因为Stream会缓存它计算的结果,但SeqView(或任何其他View s )不是。