Scala集合中的函式 擴充套件

2022-09-17 07:57:12 字數 1815 閱讀 6322

將兩個集合進行 對偶元組合並,可以使用拉鍊

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).map

val 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.定義方法時,如果不寫 那麼無論方法體中最後一行計算的結果返回是...