Multidimensional Array is basically an array storing the data in matrix format. For, matrices and table we need multidimensional array. We can create multidimensional array by using Array.ofDim and Array of Array method.
Syntax
val arrayname = Array.ofDim[data_type](number of rows, number of cols)
or
var arrayname = Array(Array(elements), Array(elements))
Scala has a method Array.ofDim to create a multidimensional array. This approach can be used to create arrays of up to five dimensions. Required we need to know the number of rows and columns at creation time. After declaring the array, we add elements to it .
Example:
// Scala Program of Multidimensional array // using Array.ofDimobject MultiArr{ def main(args: Array[String]) { //creating the array of 2 rows and 2 columns val mymultiarr= Array.ofDim[Int](2, 2) //Assigning the values mymultiarr(0)(0) = 2 mymultiarr(0)(1) = 7 mymultiarr(1)(0) = 3 mymultiarr(1)(1) = 4 for(i<-0 to 1; j<-0 until 2) { print(i, j) //Accessing the elements println("=" + mymultiarr(i)(j)) } }} |
Output
(0,0)=2 (0,1)=7 (1,0)=3 (1,1)=4
This gives more control of the process and lets us create “ragged” arrays (where each contained array may be a different size). We can also create a multidimensional array by using Array of Array. In the example below, we have created a multidimensional array using Array of Array.
Example:
// Scala Program of Multidimensional array // using Array of Arrayobject MultiArr{ def main(args: Array[String]) { // Creating and assigning the values // to the array var arr= Array(Array(0, 2, 4, 6, 8), Array(1, 3, 5, 7, 9)) for(i<-0 to 1) { for(j<- 0 to 4) { // Accessing the values print(" "+arr(i)(j)) } println() } }} |
Output:
0 2 4 6 8 1 3 5 7 9
Now, let us consider an example showing the element with (row, column)
Example:
// Scala Program of Multidimensional array // using Array of Arrayobject Mad{ def main(args: Array[String]) { // Creating and assigning the values to the array var arr= Array(Array(0, 2, 4, 6, 8), Array(1, 3, 5, 7, 9)) for(i<-0 to 1; j<-0 until 5) { print(i, j) //Accessing the elements println("=" + arr(i)(j)) } }} |
Output:
(0,0)=0 (0,1)=2 (0,2)=4 (0,3)=6 (0,4)=8 (1,0)=1 (1,1)=3 (1,2)=5 (1,3)=7 (1,4)=9


