可变数组和多维数组的简单使用

定义变长数组
scala> val arr4= ArrayBufferInt
arr4: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer()

打印输出数组
scala> println(arr4)
ArrayBuffer()

向数组中添加元素
scala> arr4+=1
res29: arr4.type = ArrayBuffer(1)

向数组中添加多个元素
scala> arr4+=(4,2,3,6,5)
res30: arr4.type = ArrayBuffer(1, 4, 2, 3, 6, 5)

向可变数组中添加不可变数组
scala> arr4++=Array(8,7)
res31: arr4.type = ArrayBuffer(1, 4, 2, 3, 6, 5, 8, 7)

向可变数组中添加可变数组
scala> arr4++=ArrayBuffer(10,9)
res32: arr4.type = ArrayBuffer(1, 4, 2, 3, 6, 5, 8, 7, 10, 9)

向数组的指定位置添加元素
scala> arr4.insert(3,-1,0)

打印输出数组
scala> println(arr4)
ArrayBuffer(1, 4, 2, -1, 0, 3, 6, 5, 8, 7, 10, 9)

删除数组指定位置元素
scala> arr4.remove(8,2)

打印数组
scala> println(arr4)
ArrayBuffer(1, 4, 2, -1, 0, 3, 6, 5, 10, 9)
删除数组指定位置元素
scala> arr4.remove(3,2)

scala> println(arr4)
ArrayBuffer(1, 4, 2, 3, 6, 5, 10, 9)

向数组指定位置添加数组
scala> arr4.insert(4,8,7)

scala> println(arr4)
ArrayBuffer(1, 4, 2, 3, 8, 7, 6, 5, 10, 9)

循环遍历数组方法一
scala> for(a<- arr4)print(a)
142387659

循环遍历数组方法二
scala> for(a<- (0 to arr4.length-1).reverse) print(arr4(a))
956783241

创建不可变数组
scala> val arr =Array(1,2,3,4,5,6,7)
arr: Array[Int] = Array(1, 2, 3, 4, 5, 6, 7)

yield 关键字将原始的数组进行转换会产生一个新的数组,原始的数组不变
scala> val res=for(a<-arr)yield a * 2
res: Array[Int] = Array(2, 4, 6, 8, 10, 12, 14)

map数组转换
scala> arr.map(_ * 2)
res47: Array[Int] = Array(2, 4, 6, 8, 10, 12, 14)

scala> res.map(_ * 2)
res52: Array[Int] = Array(4, 8, 12, 16, 20, 24, 28)

创建不可变数组
scala> val arr=Array(1,2,3,4,5,6)
arr: Array[Int] = Array(1, 2, 3, 4, 5, 6)

                                 ^

按条件查询数组以及通过yield转换
scala> var res=for(a<-arr if a%2 ==0) yield a*10
res: Array[Int] = Array(20, 40, 60)

打印输出数组
scala> println(res.toBuffer)
ArrayBuffer(20, 40, 60)

按条件输出数组map转换
scala> val r=arr.filter(%2==0).map( *10)
r: Array[Int] = Array(20, 40, 60)

scala> println(r.toBuffer)
ArrayBuffer(20, 40, 60)

数组求和
scala> arr.sum
res56: Int = 21

数组最大值
scala> arr.max
res57: Int = 6

数组最小值
scala> arr.min
res58: Int = 1

添加分隔符
scala> arr.mkString(",")
res62: String = 1,2,3,4,5,6

创建多维数组
scala> var ma=Array(Array(1,2,3),Array(2,3,4))
ma: Array[Array[Int]] = Array(Array(1, 2, 3), Array(2, 3, 4))

多维数组的查询
scala> ma(0)(1)
res63: Int = 2

循环遍历多维数组
scala> for(a<- ma)println(a.mkString(","))
1,2,3
2,3,4

猜你喜欢

转载自blog.csdn.net/weixin_44701192/article/details/91475908