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