1.常用函数
遍历 foreach: foreach(f: (A) ⇒ Unit): Unit List(1,2,3,4).foreach((x:Int)=>println(x))映射 map: def map[B](f: (A) ⇒ B): TraversableOnce[B] val a = List(1,2,3,4) a.map(_ + 1)扁平化映射 flatMap(**可以把flatMap,理解为先map,然后再flatten ) def flatMap[B](f: (A) ⇒ GenTraversableOnce[B]): TraversableOnce[B]过滤 filter def filter(p: (A) ⇒ Boolean): TraversableOnce[A]默认排序sorted List(3,1,2,9,7).sorted指定字段排序 sortBy def sortBy[B](f: (A) ⇒ B): List[A] List("01 hadoop", "02 flume", "03 hive", "04 spark").sortBy(_.split(" ")(1))自定义排序 sortWith def sortWith(lt: (A, A) ⇒ Boolean): List[A] List(2,3,1,6,4,5).sortWith((x,y) => if(x<y)true else false)分组 groupBy groupBy表示按照函数将列表分成不同的组 def groupBy[K](f: (A) ⇒ K): Map[K, List[A]] val a = List("张三"->"男", "李四"->"女", "王五"->"男")聚合 reduce reduce表示将列表,传入一个函数进行聚合计算 def reduce[A1 >: A](op: (A1, A1) ⇒ A1): A1 * reduce和reduceLeft效果一致,表示从左到右计算 * reduceRight表示从右到左计算折叠 fold def fold[A1 >: A](z: A1)(op: (A1, A1) ⇒ A1): A1 List(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).fold(0)(_ + _)
2.面向对象
2.1类
* 使用`class`关键字来定义类* 使用`var`/`val`来定义成员变量* 使用`def`来定义成员方法* 使用`new`来创建一个实例对象
其他
obj.isInstanceOf[T]:判断obj是不是T类型。obj.asInstanceOf[T]:将obj强转成T类型。classOf获取对象的类名。
尚硅谷大数据技术之Scala.docx