1、方法转化为函数
def m1(x:Int,y:Int)=x*y
val f1=m1 _
2、集合中的每一个元素
val list=List(1,2,3,4)
val list1=list.map(_ * 10)
3、获取元组Tuple中的元素
val t=("hadoop",3.14,100)
t._1
t._2
t._3
4、模式匹配
val word="hadoop"
val result =word match{
case "hadoop" => 1
case "spark" => 2
case _ => 0 //以上都没有匹配到才会被执行
}
5、队列
val list=List(1,2,3,4)
list match {
case List(1,x,y)=>x
case List(1,2,x,y)=>y
case _ => 6
}
由于和第二种情况相同,所以匹配到了第二张情况,因此y赋值为4,所以返回值为4。
6、导包引入的时候
import scala.collection.mutable._
表示引入的时候将scala.collection.mutable包下面所有的类都导入
7、初始化变量
var name:String=_
//在这里,name也可以声明为null,例:var name:String=null。这里的下划线和null的作用是一样的。
var age:Int=_
//在这里,age也可以声明为0,例:var age:Int=0。这里的下划线和0的作用是一样的。
由于var是可变的,而val是不可变的,因此不可以把初始为null的变量设置为val类型的。