1.字符串插值
spark源码里有很多这个 如果遇到object调用方法要放入字符串里面 记得加上{}
1 | object StringApp { |
List (有序可重复的)
集合里一定要记住 不适用new 方式创建的集合 都是调用object里的apply方法
1 | 1.长度不可变 |
1.长度不可变
1 | Nil是什么? 不可变的 空的List |
1 | head 和 tail 头是一个 尾是除了第一个剩下的 |
1 | 结合上面头和尾 不适用List如何创建一个list呢? |
2.长度可变
1 | scala> val l1 = scala.collection.mutable.ListBuffer[Int]() |
1 | 递归实现求和 :别的太low 哈 面试掉价 |
zipwithIndex
是将结果加上index
1 | scala> val names = List("cxk","oyll","ailics") |
1 | 那么要求取出上面结果的 蔡徐坤 怎么取呢? 最好是filter一下 这里是写死的 |
Set(无序不可重复)可以去重
1 | scala> val list = List(1,2,3,4,4,4,5) |
Map(k-v)
1 | 1.值不可变 |
1.值不可变
1 | scala> val mp = Map("sx"->24,"dou_hap"->18) |
2.值可变(工作中要用这种的)
1 | scala> val m = scala.collection.mutable.Map("ruoze"->20,"jepson"-> 18) |
1 | 优化娶不到的人 不让他报错 getOrElse |
spark源码里有很多 getOrElse
1 | scala> m |
1 | 遍历Map; |
这种map是不能排序的
能排序的 sortedMap , LinkedHashMap
1 | scala> val m = Map(1->2) |