西安哪家机构大数据基础培训课程比较容易?在西安大数据培训班有很多,但是根据师资和学习环境,小编推荐您可以到西安天琥教育了解一下!天琥教育,连锁培训机构,专注设计教育。课程由经验丰富导师自主研发,涵盖UI设计、室内设计、网页设计、营销推广、影视特效等,全程商业项目实训,大品牌值得信赖!
Scala中的数组
Scala中的数组分为了不可变的数组Array和可变数组ArrayBuffer。可变数组指的是长度不可变,内容可变。可变数组指的是长度和内容都可变。Scala中默认使用的是不可变数组,要使用可变数组,要先导入才能使用。
1.不可变数组Array
定义方式一:
scala>val arr1=Array[Int](1,3,5,6,8)
arr1:Array[Int]=Array(1,3,5,6,8)
scala>val arr2=Array(2.6,5.8,9.99)
arr2:Array[Double]=Array(2.6,5.8,9.99)
从上面示例中可以看到,用这种方式定义数组时,可以指明数组类型,也可以不指定。不指定时会根据数据类型自动推断数组的类型。
定义方式二:
scala>val arr3=new Array[Int](5)
arr3:Array[Int]=Array(0,0,0,0,0)
使用此种方式定义时,必须指明数组类型和长度。定义的同时,会给各元素赋初值。
取值与赋值:
scala>arr1(0)
res3:Int=1
scala>arr1(3)=10
scala>arr1(6)
java.lang.ArrayIndexOutOfBoundsException:6
...32 elided
取值与赋值都是使用数组的下标,下标索引从0开始。同样要注意下标越界的问题。
2.可变数组ArrayBuffer
要使用可变数组,首先要导入:
scala>val ab=ArrayBuffer(1,2,3,4,5,6)
:11:error:not found:value ArrayBuffer
val ab=ArrayBuffer(1,2,3,4,5,6)
如果不导入直接使用,会报上述错误。
scala>import scala.collection.mutable.ArrayBuffer
import scala.collection.mutable.ArrayBuffer
scala>val ab=ArrayBuffer(1,2,3,4,5,6)
ab:scala.collection.mutable.ArrayBuffer[Int]=ArrayBuffer(1,2,3,4,5,6)
scala>val ab2=new ArrayBuffer[Int]()
ab2:scala.collection.mutable.ArrayBuffer[Int]=ArrayBuffer()
从上例中可以看到,ArrayBuffer的定义同样可以采用两种形式。因为长度是可变的,所以采用第二种方式定义时,可以不用指定长度,只指明类型即可。