2019独角兽企业重金招聘Python工程师标准>>>
1、file.getName.endsWith(".txt") //查询文件后缀名,此处为查询txt格式文件
2、zipWithIndex方法创建循环数组,将元素和其所在的下标组成一个pair:
eg: val series = Seq(0,1,1,2,3,5,8,13)
series.zipWithIndex
res33:Seq[(Int,Int)] = List((0,0),(1,1),(1,2),(2,3),(3,4),(5,5),(8,6),(13,7))
3、连接两个数组,用concat
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)
4、foreach方法与map方法联系与区别
两个方法的共同点在于:都是用于遍历集合对象,并对每一项执行指定的方法。
而两者的差异在于:foreach无返回值(准确说返回void),map返回集合对象。见如下代码及运行结果:b.getClass 得到的是void, 而c.getClass得到的是colletion 。再看代码的第9-11行,foreach和map的运行结果一致。结论就是:foreach 无法代替map. 而map方法却可以代替foreach。
问题:为什么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+" "))
}
5、count方法,计算出字符串searchMe中包含字符p的个数
val searchMe = “peter piper apple”
val count = searchMe.count(_=='p')