在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
?
答案 0 :(得分:2)
SeqView
并不比Stream
便宜。事实上,访问SeqView
中的元素比Stream
更昂贵,因为Stream
会缓存它计算的结果,但SeqView
(或任何其他View
s )不是。