6 ответов:
для инициализации массива, заполненного нулями, можно использовать:
> Array.fill[Byte](5)(0) Array(0, 0, 0, 0, 0)это эквивалентно Java
new byte[5].
можно также сделать более динамические инициалы с заливкой, например
Array.fill(10){scala.util.Random.nextInt(5)}==>
Array[Int] = Array(0, 1, 0, 0, 3, 2, 4, 1, 4, 3)
дополнительно к ответу Василя: если у вас есть значения, заданные как коллекция Scala, вы можете написать
val list = List(1,2,3,4,5) val arr = Array[Int](list:_*) println(arr.mkString)но обычно метод toArray более удобен:
val list = List(1,2,3,4,5) val arr = list.toArray println(arr.mkString)
Если вы знаете длину массива, но не знаете его содержимое, вы можете использовать
val length = 5 val temp = Array.ofDim[String](length)Если вы хотите иметь массив двух измерений, но вы не знаете его содержимое, вы можете использовать
val row = 5 val column = 3 val temp = Array.ofDim[String](row, column)конечно, вы можете изменить строку в другой тип.
Если вы уже знаете ее содержание, вы можете использовать
val temp = Array("a", "b")
другой способ объявления многомерных массивов:
Array.fill(4,3)("") res3: Array[Array[String]] = Array(Array("", "", ""), Array("", "", ""),Array("", "", ""), Array("", "", ""))
Comments