各数据结构是否长度可变?
各数据结构是否内容可变?
各数据结构声明方式有何差别?
各数据结构访问方式有何差异?
- 从数据结构的角度:
1)Array、List、Tuple都是不可变长的,BufferArray是可变长的
2)Array和List中的元素类型必须相同,Tuple可以存放不同的类型
3)Array元素可变,List、Tuple元素不可变
- 声明的角度:
1) Array、List声明时不能加new,Tuple声明时可加可不加
Array声明:
val array1 = Array(1,2,3)
List声明:
val list1 = List(1,2,3)
Tuple声明的三种方式:
val tuple1 = (1,true,"aaa")
val tuple2 = Tuple3(1,true,"aaa")
val tuple3 = new Tuple3(1,true,"aaa")
- 访问的角度:
1)Array、List都是从下标0开始访问,形式为Array(0)、List(0)
val array1 = Array(1,2,3)
println(array1(0)) //1
println(array1(2)) //3
2)Tuple从下标1开始访问,形式为Tuple._1
val tuple1 = new Tuple3(1,true,"aaa")
println(tuple1._1) //1
println(tuple1._3) //"aaa"