1.定长数组
定义一个数组
scala> val a = new Array[String](5)
a: Array[String] = Array(null, null, null, null, null)
scala> val a = new Array[Int](5)
a: Array[Int] = Array(0, 0, 0, 0, 0)
scala> val a = new Array[Boolean](5)
a: Array[Boolean] = Array(false, false, false, false, false)
数组的长度
scala> a.length
res0: Int = 5
数组的赋值
scala> val a = new Array[String](5)
a: Array[String] = Array(null, null, null, null, null)
scala> a(1)="ruozedata"
scala> a
res3: Array[String] = Array(null, ruozedata, null, null, null)
定长数组的另一种写法
scala> val name = Array("若泽","J哥")
name: Array[String] = Array(若泽, J哥)
查看数组
scala> name(0)
res5: String = 若泽
scala> name(1)
res6: String = J哥
修改数组的值
scala> name(1)="J zong"
scala> name
res8: Array[String] = Array(若泽, J zong)
定长数组(定义了值和类型,不能修改)
scala> name(2)
java.lang.ArrayIndexOutOfBoundsException: 2
... 32 elided
scala> name(2)="spy"
java.lang.ArrayIndexOutOfBoundsException: 2
... 32 elided
求数组的最大值最小值求和等
scala> val a = Array(1,2,3,4,5,6,7,8,9)
a: Array[Int] = Array(1, 2, 3, 4, 5, 6, 7, 8, 9)
scala> a.max
res11: Int = 9
scala> a.min
res12: Int = 1
scala> a.sum
res15: Int = 45
scala> a.length
res16: Int = 9
2.数组的一些常用语法
拼接字符
scala> val a = Array(1,2,3,4,5,6,7,8,9)
a: Array[Int] = Array(1, 2, 3, 4, 5, 6, 7, 8, 9)
scala> a.mkString("&")
res17: String = 1&2&3&4&5&6&7&8&9
scala> a.mkString("[","&","]")
res18: String = [1&2&3&4&5&6&7&8&9]
toString方法
scala> a.toString
res1: String = [I@5e403b4a
3.变长数组
首先要import scala.collection.mutable.ArrayBuffer
scala> import scala.collection.mutable.ArrayBuffer
import scala.collection.mutable.ArrayBuffer
scala> val c = ArrayBuffer[Int]()
c: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer()
变长数组的用法
scala> c +=1
res2: c.type = ArrayBuffer(1)
scala> c +=2
res3: c.type = ArrayBuffer(1, 2)
scala> c +=(3,4,5)
res4: c.type = ArrayBuffer(1, 2, 3, 4, 5)
注意:加一个数组要++
scala> c ++=Array(6,7,8)
res5: c.type = ArrayBuffer(1, 2, 3, 4, 5, 6, 7, 8)
变长数组中insert的用法
从第0个位置加个0
scala> c.insert(0,0)
scala> c
res10: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(0, 1, 2, 3, 4, 5, 6, 7, 8)
变长数组中remove的用法
scala> c
res10: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(0, 1, 2, 3, 4, 5, 6, 7, 8)
删除第一个位置上的值
scala> c.remove(1)
res13: Int = 1
scala> c
res14: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(0, 2, 3, 4, 5, 6, 7, 8)
scala> c.remove(0,3)
scala> c
res16: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(4, 5, 6, 7, 8)
变长数组中trimEnd , trimStart的用法
scala> c.trim
trimEnd trimStart
scala> c
res16: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(4, 5, 6, 7, 8)
scala> c.trimEnd(2)
scala> c
res18: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(4, 5, 6)
scala> c.trimStart(2)
scala> c
res20: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(6)
4.变长数组转化为定长数组
scala> c
res20: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(6)
scala> c.toArray
res21: Array[Int] = Array(6)