1.常用函数

  1. 遍历 foreach:
  2. foreach(f: (A) Unit): Unit
  3. List(1,2,3,4).foreach((x:Int)=>println(x))
  4. 映射 map:
  5. def map[B](f: (A) B): TraversableOnce[B]
  6. val a = List(1,2,3,4)
  7. a.map(_ + 1)
  8. 扁平化映射
  9. flatMap(**可以把flatMap,理解为先map,然后再flatten )
  10. def flatMap[B](f: (A) GenTraversableOnce[B]): TraversableOnce[B]
  11. 过滤 filter
  12. def filter(p: (A) Boolean): TraversableOnce[A]
  13. 默认排序sorted
  14. List(3,1,2,9,7).sorted
  15. 指定字段排序 sortBy
  16. def sortBy[B](f: (A) B): List[A]
  17. List("01 hadoop", "02 flume", "03 hive", "04 spark").sortBy(_.split(" ")(1))
  18. 自定义排序 sortWith
  19. def sortWith(lt: (A, A) Boolean): List[A]
  20. List(2,3,1,6,4,5).sortWith((x,y) => if(x<y)true else false)
  21. 分组 groupBy
  22. groupBy表示按照函数将列表分成不同的组
  23. def groupBy[K](f: (A) K): Map[K, List[A]]
  24. val a = List("张三"->"男", "李四"->"女", "王五"->"男")
  25. 聚合 reduce
  26. reduce表示将列表,传入一个函数进行聚合计算
  27. def reduce[A1 >: A](op: (A1, A1) A1): A1
  28. * reducereduceLeft效果一致,表示从左到右计算
  29. * reduceRight表示从右到左计算
  30. 折叠 fold
  31. def fold[A1 >: A](z: A1)(op: (A1, A1) A1): A1
  32. List(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).fold(0)(_ + _)

2.面向对象

2.1类

  1. * 使用`class`关键字来定义类
  2. * 使用`var`/`val`来定义成员变量
  3. * 使用`def`来定义成员方法
  4. * 使用`new`来创建一个实例对象

其他

  1. obj.isInstanceOf[T]:判断obj是不是T类型。
  2. obj.asInstanceOf[T]:将obj强转成T类型。
  3. classOf获取对象的类名。

尚硅谷大数据技术之Scala.docx