先来段代码:
//val greeting:Array[String] = new Array[String](3)
val greeting = new Array[String](3)
greeting(0) = "hello"
greeting(1) = ","
greeting.update(2,"World")
for(i <- 0 to 2){
println("i="+ i +" greeting.apply(i) is:"+ greeting.apply(i))
println("i="+ i +" greeting(i) is:"+ greeting(i))
}
输出结果:
i=0 greeting.apply(i) is:hello
i=0 greeting(i) is:hello
i=1 greeting.apply(i) is:,
i=1 greeting(i) is:,
i=2 greeting.apply(i) is:World
i=2 greeting(i) is:World
1,访问使用(),而不像Java中的[]
2,处女座的是不是必须这么写,不写个:Array[String],总看着不爽阿!
val greeting:Array[String] = new Array[String](3)
3,update()与apply()
1,类型都是相同的
2,不可变的,(Array虽然长度固定,但是元素之使可变的)
3,(:::)实现叠加List,(::)cons:将新元素组合到列表的最前端
val list1 = 1::2::3::5::Nil
println(list1 )
val list2 = 3::2::3::5::Nil
println(list2 )
val list3 = list2:::list1
println(list3 )
输出结果
List(1, 2, 3, 5)
List(3, 2, 3, 5)
List(3, 2, 3, 5, 1, 2, 3, 5)
1,元组也是不可变的,但是元组可以是不同类型的数据
2,实例化:var a = (,)
3,可以通过点号,下划线,-N(N从1开始)的索引访问元素
var tuple = (200,"strstr",3.1415926)
println(tuple._1)//从1开始
println(tuple._2)
println(tuple._3)
1,创建,初始化
var set = Set("","")
2,不可变Set引入
import scala.collection.mutable.Set
可变Set引入
import scala.collection.immutable.Set
3,不可Set调用(+)产生新的Set,只有可变Set才有(+=)
var unMap = Map[Int,String]()
unMap += (1 ->"str1")
unMap += (2 ->"str2")
unMap += (3 ->"str3")
println("unMap(2) is "+unMap(2))
1,Map与set一样也分可变与不可变
2,Map默认不可变,故使用不可变Map不需要引入(import).