scala學習筆記:理解stream和view
先來個正常的:
scala> (0 to 5).map((x:Int)=>{println(x);x*2}).foreach(println)
0
1
2
3
4
5
0
2
4
6
8
10
再來個stream版的:
scala> (0 to 5).toStream.map((x:Int)=>{println(x);x*2}).foreach(println)
0
0
1
2
2
4
3
6
4
8
5
10
最後來個view版的:
scala> (0 to 5).view.map((x:Int)=>{println(x);x*2}).foreach(println)
0
0
1
2
2
4
3
6
4
8
5
10
目前看,view和stream的表現一樣,那麼區別何在呢?觀察下一個:
scala> (0 to 5).toStream.map((x:Int)=>{println(x);x*2})
0
res5: scala.collection.immutable.Stream[Int] = Stream(0, ?)
scala> (0 to 5).view.map((x:Int)=>{println(x);x*2})
res6: scala.collection.SeqView[Int,Seq[_]] = SeqViewM(...)
看來stream會優先求第一個值的!這就是區別的全部麼?
相關文章
- scala學習筆記:理解並行集合par筆記並行
- Scala學習筆記筆記
- Scala學習筆記2筆記
- Scala 學習筆記(2)之類和物件筆記物件
- scala學習筆記:控制抽象筆記抽象
- Scala 學習筆記 (1):初見筆記
- <node.js學習筆記(4)>stream和http模組Node.js筆記HTTP
- Scala學習筆記(2)-基礎語法筆記
- Scala 學習筆記(1)之入門篇筆記
- Node.js stream(流) 學習筆記(一)Node.js筆記
- Java學習之流Stream理解(一)Java
- batch normalization學習理解筆記BATORM筆記
- scala學習筆記:各種奇怪的寫法筆記
- scala學習筆記:變數宣告中的模式筆記變數模式
- Scala學習記錄01
- SQLServer學習筆記 - 主鍵的理解SQLServer筆記
- OCI介面學習筆記--基本理解(二)筆記
- AS 學習筆記 for in 和 for each in筆記
- 步步學習自定義View:Hencoder 精簡版學習筆記(一)View筆記
- Scala學習(七)---包和引入
- Scala筆記(一)筆記
- 【學習筆記】CSS深入理解之margin筆記CSS
- 【學習筆記】CSS深入理解之overflow筆記CSS
- git 和 vim 學習筆記Git筆記
- Scala學習(六)---Scala物件物件
- 2018.03.15、View 繪製流程學習 筆記View筆記
- scala學習
- 2020-09-29【學習筆記】scala語言(三十三) scala中的抽象方法筆記抽象
- 【學習筆記】CSS深入理解之relative筆記CSS
- Python學習筆記|Python之yield理解Python筆記
- this 關鍵字的理解--java學習筆記(轉)Java筆記
- Scala學習(八)---Scala繼承繼承
- numpy的學習筆記\pandas學習筆記筆記
- 註解和反射學習筆記反射筆記
- Node學習筆記 Mongodb 和 Mongoose筆記MongoDB
- Git和Maven的學習筆記GitMaven筆記
- systemtap和火焰圖學習筆記筆記
- 【安卓筆記】view.getX和view.getTranslationX區別安卓筆記View