一、file.getName.endsWith(".txt") //查詢文件後綴名,此處爲查詢txt格式文件編程
二、zipWithIndex方法建立循環數組,將元素和其所在的下標組成一個pair:數組
eg: val series = Seq(0,1,1,2,3,5,8,13)app
series.zipWithIndex函數式編程
res33:Seq[(Int,Int)] = List((0,0),(1,1),(1,2),(2,3),(3,4),(5,5),(8,6),(13,7))函數
三、鏈接兩個數組,用concatspa
var myList1 = Array(1.9, 2.9, 3.4, 3.5) var myList2 = Array(8.9, 7.9, 0.4, 1.5) var myList3 = concat( myList1, myList2)
四、foreach方法與map方法聯繫與區別scala
兩個方法的共同點在於:都是用於遍歷集合對象,並對每一項執行指定的方法。對象
而二者的差別在於:foreach無返回值(準確說返回void),map返回集合對象。見以下代碼及運行結果:b.getClass 獲得的是void, 而c.getClass獲得的是colletion 。再看代碼的第9-11行,foreach和map的運行結果一致。結論就是:foreach 沒法代替map. 而map方法卻能夠代替foreach。ip
問題:爲何scala提供foreach和map兩個方法呢?本人見解是scala作爲一種支持函數式編程範式的語言,必然要引入一種機制以支持數學中函數概念,而在數學中函數就是映射,因此scala中有map方法一點都不奇怪。而foreach只是用在不須要對集合執行映射操做,但須要遍歷集合時纔用到。總而言之,foreach用於遍歷集合,而map用於映射(轉換)集合到另外一個集合。字符串
object arrayTest extends App{
var increase=(x:Int)=>x+1
val someNumbers = List ( -11, -10, - 5, 0, 5, 10)
var b = someNumbers.foreach(increase)
println(b.getClass)
var c = someNumbers.map(increase)
println(c.getClass)
c.foreach((x:Int)=>print(x+" "))
println()
c.map((x:Int)=>print(x+" "))
}
五、count方法,計算出字符串searchMe中包含字符p的個數
val searchMe = 「peter piper apple」
val count = searchMe.count(_=='p')