标签:scala
scala> val array = new Array[Double](5) array: Array[Double] = Array(0.0, 0.0, 0.0, 0.0, 0.0)赋值方式:array(index) = value
scala> val array = Array(1, 2, 3, 4, 5) array: Array[Int] = Array(1, 2, 3, 4, 5)第三种方式,Array.fill(length)(value):
scala> val array = Array.fill(5)(3.5) array: Array[Double] = Array(3.5, 3.5, 3.5, 3.5, 3.5)如果fill第二个参数只写一个值的话,那么该数组的所有元素都是该值,但是如果第二个参数是一个iterator或者random,那么数组就会被赋值为它们的值。
scala> val array = Array.fill(2)(math.random) array: Array[Double] = Array(0.2810736748034083, 0.7261142068882558)第四种方式,ofDim[T](length):
scala> val array = Array.ofDim[Double](5) array: Array[Double] = Array(0.0, 0.0, 0.0, 0.0, 0.0)赋值方式:array(index) = value
val array = new ArrayBuffer[T]()在数组尾部增加一个类型为T的元素e1:
array += e1在数组尾部增加一个类型为T的元素e1、e2:
array += (e1, e2)在数组尾部增加一个类型为T的数组:
array ++= Array(e1, e2)在第index元素后插入e1:
array.insert(index, e1)在第index元素后插入e1、e2:
array.insert(index, e1, e2)移除第index元素后的n个元素:
array.remove(index, n)
val array = new Array[Array[Int]](5) scala> val array = new Array[Array[Int]](5) array: Array[Array[Int]] = Array(null, null, null, null, null)此时,内部的每个数组长度是不一样的,类似于Java中的如下定义:
int[][] array = new int[2][];第二种方式(推荐):
scala> val array = Array.ofDim[Int](2,3) array: Array[Array[Int]] = Array(Array(0, 0, 0), Array(0, 0, 0))
scala> val arr1 = new ArrayBuffer[ArrayBuffer[Int]]() arr1: scala.collection.mutable.ArrayBuffer[scala.collection.mutable.ArrayBuffer[Int]] = ArrayBuffer()
array = imarray.toArray变长数组array转换成定长数组imarray:
imarray = array.toBuffer当定/变长多维数组相互转换时,只转换最外面那层数组:
scala> val array = Array(Array(1,2),Array(3,4)) arr: Array[Array[Int]] = Array(Array(1, 2), Array(3, 4)) scala> array.toBuffer res14: scala.collection.mutable.Buffer[Array[Int]] = ArrayBuffer(Array(1, 2), Array(3, 4))
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:scala
原文地址:http://blog.csdn.net/u010376788/article/details/47703619