注意:这里的Tuple3,字母是固定字段,数字3代表后面有3个元组
//元组声明方式三 def mike="mike"->5->6->7 println(mike) println(mike.getClass) 输出结果是: (((mike,5),6),7) class scala.Tuple2 //元组声明方式四,将元组赋值给三个变量 val tp1 =("zhangsan","andemn",19) val (name,address,age)=tp1 println(name) println(address) println(age)Set:ListSet、HashSet、TreeSet
Map:ListMap、HashMap、TreeMap
Seq:Vector、String、Range、List、Stack、Stream、Queue
常用集合:
函数是Scala的中的重点核心
格式: def 函数名(形式参数名:数据类型):(返回值的数据类型)={ 函数体:你自定义的函数需求 (return)表达式 } 函数main方法里的调用: 函数名(实参参数名) 列题如下:字符串判断,有a输出1,有B输出2,其他0
我们也可以通过指定参数名字,传递参数值
def showMsg(name:String,age:Int):Unit={ println("hello:"+name+"age:"+age) } showMsg("kb09",5) showMsg(age=18,name="zhangsan")注意:当我们的参数长度不确定的时候,用*来表示,可以传入多个参数
def showMsg2(name:String,s:String*):Unit={ println(name) for(str<-s){ println(str) } } showMsg2("kb09","龙人","鳄鱼","狮子")函数名后面加下划线可以直接调用该定义好的函数
val f1=showMsg2_定义一个有两个参数的函数
val aa:(Int,Int)=>Int=(a:Int,b:Int)=>a+b val aa: ((Int,Int)=>Int)=(a:Int,b:Int)=>a+b//上述函数的变形,一个意思格式:(参数名:数据类型,…)=>{函数体}
也可以给他们命名一个名称,通过添加这个(var name=)
val aa= (a:Int,b:Int)=>a+b //这叫匿名函数如果函数体包括多条语句,应使用“{}”包含