数据结构
- scala同时支持可变集合和不可变集合,两种集合分别存放在不同的包里面
不可变集合: scala.collection.immutable
可变集合: scala.collection.mutable
Scala 优先采用不可变集合,集合主要分为三大类,序列、集合、映射。
定长数组Array
有三种创建方式,分别是new对象,直接赋值确定长度,调用隐式的apply方法
val ints = new Array[Int](5)
val array1 = Array(1, 2, 3, "2", 216, 4)
val res = array1(3)
println(res)
在第二种方法中也就是 val array1 = Array(1, 2, 3, “2”, 216, 4),你如果想取到“2”这个元素,你不能仅仅拿到它的索引,直接输出。那样编译会通过,但是运行会出现数据转换异常,你需要对它进行强制转换
// println(ints.toList) 输出List(0, 0, 0, 0, 0)
// array1(3).asInstanceOf[String] 强转方式 asInstanceOf
val str = array1(3).asInstanceOf[String]
println(str)
赋值操作和遍历操作
//赋值操作
array1(1) = 8888
println(array1) // array1.tostring 后正常显示
//遍历
//使用下标遍历
for (i <- array1.indices){
array1(i)
}
for (x <- array1){
x
}
for (elem <- array1) {
println(elem)
}
可变长度的数组ArrayBuffer
ArrayBuffer
可变长度的数组 ArrayBuffer buffer2简写 //因为伴生对象帮我们new了
val buffer1 = new ArrayBuffer[Int]()
val buffer2 = ArrayBuffer[Int]() //推荐使用
println(buffer2.size)
println(buffer1.length)
// 元素的读写
val i=buffer1(0)
println(i) //因为