將兩個集合進行 對偶元組合並,可以使用拉鍊
object demo_031輸出}
注意事項
通過iterator方法從集合獲得乙個迭代器,通過while迴圈和for表示式對集合進行遍歷
例項:object demo_032
println("--------遍歷方式2 for -----------------")
for (enum
}}stream是乙個集合。這個集合,可以用於存放無窮多個元素,但是這無窮個元素並不會一次性生產出來,而是需要用到多大的區間,就會動態的生產,末尾元素遵循lazy規則(使用時才載入)
使用tail,會動態的向stream集合按規則生成新的元素
object demo_033執行結果}
例項:使用map對映stream的元素並進行一些計算
object demo_034輸出println(numsform(5).map(multi)) //? (25,?)
}}
stream的懶載入特性,也可以對其他集合應用view方法來得到類似的效果,具有如下特點:
例項:請找到1-100 中,數字倒序排列 和它本身相同的所有數。(1 2, 11, 22, 33 ...)
object demo_035輸出結果//說明: 沒有使用view
val viewsquares1 = (1 to 100).filter(eq)
println(viewsquares1)
//使用view
val viewsquares2 = (1 to 100).view.filter(eq)
println(viewsquares2)
}}
應用案例
parallel
object demo_036輸出(1 to 5).foreach(method)
println()
(1 to 5).par.foreach(method)//並行方式輸出
}}
val result1 = (0 to 100).mapval result2 = (0 to 100).par.map
println(result1)
println(result2)
scala集合型別,函式
scala使用初步介紹 函式 def 建立容器 array 1,2,3 list 1,2,3 array 1,2,3 tolist map k1 1 k2 2 scala.tuple3 1,2,3 1,2,3 取出元素 arr 0 arr 1 list 0 list 1 map k1 tup.1,t...
scala中的函式
在scala中定義函式,需要給出 函式名 引數 函式體。例如 def abs x double if x 0 x else x 如果有引數,必須要給出引數型別。如果函式不是遞迴的,返回值型別就可以不寫。scala編譯器自帶型別推導功能。如果函式體由多個表示式組成,可以用 塊的方式來組織,比如 def...
scala中的函式
1.方法定義用def,函式的引數 要寫型別,不寫型別不可以。2.函式的返回值型別可以不寫,會自動推斷 3.scala會將函式體中最後一行計算的結果當做返回值返回 4.可以寫 return 寫了return要顯式的宣告方法體的返回型別。5.定義方法時,如果不寫 那麼無論方法體中最後一行計算的結果返回是...