1. 程式人生 > 實用技巧 >Java 多維陣列的建立

Java 多維陣列的建立

Java裡採用“陣列的陣列"定義一個多維陣列,一個二維陣列由多個一維陣列構成,例如:

 

//1.1
int
[][] a = new int [3][4];

實驗結果:

陣列未初始化,元素值預設為0

程式碼1.1中a陣列就是一個由3個長度為4的一維陣列構成。

但這個陣列的每個一維陣列長度都固定下來了,有可能會造成資源空間浪費,所以我們可以採用如下方法定義一個二維陣列:

//1.2
//int
[][] a = new int [m][n]; //m的值必須指定,n的值可以忽略
int[][] a = new int [3][]; //先建立3個一維陣列,但還沒有指定它們的長度,也沒有為它們分配記憶體空間

a[0]=new int [6]; //長度為6的一維陣列並分配記憶體空間
a[1]=new int [12]; //長度為12的一維陣列
並分配記憶體空間
a[2]=new int [8]; //長度為8的一維陣列並分配記憶體空間

實驗結果:

程式碼1.2中m的值,是指在建立二維陣列時,自己需要多少個一維陣列,即陣列的行數。

程式碼1.2中n的值,是指在建立二維陣列時,如果需要建立固定長度的一維陣列,就需要指定n的值,如果需要建立不同長度的一維陣列,就可忽略n的值。

//1.3
int
a[][]= {{1}, {1,1}, {1,2,1}, {1,3,3,1}, {1,4,6,4,1}, };

也可以用程式碼1.3的方法,由若干個長度不同的一維陣列建立並初始化一個二維陣列。

 //例項1 輸出楊輝三角形的前5行
1
public class Example { 2 3 public static void main(String[] args) { 4 int a[][]= {{1}, 5 {1,1}, 6 {1,2,1}, 7 {1,3,3,1}, 8 {1,4,6,4,1}, 9 }; 10 for(int i=0; i<5; i++) {
11 for(int j=0; j<a[i].length; j++) { 12 System.out.printf("%4d", a[i][j]); 13 } 14 System.out.printf("%n"); 15 } 16 } 17 18 }

實驗結果: