一、可变集合、不可变集合
二、列表
三、序列
四、Set:不重复元素的集合,默认是:HashSet
五、模式匹配:就相当于switch … case 语句
/* var sign = 0
var ch1 = '-'
ch1 match {
case '+' =>sign = 1
case '+' =>sign = -1
case _ => sign = 0
}
println(sign)*/
//Scala的守卫,匹配某种类型的所有值
//2.匹配所有的数字
/*var ch2 = '6'
var digit : Int = -1
ch2 match {
case '+' =>println("这是一个加号")
case '-' =>println("这是一个减号")
case _ if Character.isDigit(ch2) => digit = Character.digit(ch2,10) //匹配所有的数字,如果ch2是一个数字,付给digit
case _ =>println("其他")
}
println(digit)*/
//模式匹配重的变量
/*var mystr = "Hello World"
//3.取出某个字符
mystr(7) match {
case '+' =>println("这是一个加号")
case '-' =>println("这是一个减号")
case ch => println("这个字符是" + ch)//case 语句中可以使用变量,ch相当于是一个常量
}*/
//4.匹配类型,相当于instance of
/*
var v4:Any = 100 //Any 表示任意的类型,相当于Java中的Object ,最终v4 是一个整数
v4 match {
case x:Int =>println("这是一个整数")
case s:String =>println("这是一个字符串")
}
*/
//5.匹配数组和列表
/*var myArray = Array(1,2,3)
myArray match {
case Array(0) => println("数组中只有一个零")
case Array(x,y) => println("数组包含两个元素")
case Array(x,y,a) =>println("数组中包含三个元素")
case Array(x,_*) =>println("这个数组包含多个元素")
}*/
//6.列表中包含多个元素
var myList = List(1,2,3)
myList match {
case List(0) =>println("列表中只有一个零")
case List(x,y,i) =>println("列表中有三个元素")
case List(x,_*) => println("列表中有多个元素")
}
六、样本类:case class,支持模式匹配,就相当于支持switch … case 语句 相当于 instanceof