Di Java, array dua dimensi dianggap sebagai array dari array , yaitu array dua dimensi adalah array satu dimensi khusus, dan setiap elemen array dua dimensi adalah array satu dimensi.
Tipe data elemen [][] Nama array = new Tipe data elemen [panjang array dua dimensi][panjang array satu dimensi];
int[][]arr=baruint[3][2];
Situasi di atas menyatakan bahwa ada tiga array satu dimensi, dan setiap array satu dimensi memiliki 2 elemen.
Tipe data elemen [][] Nama array = new Tipe data elemen [panjang array dua dimensi][];
int[][]arr=baruint[3][];
Situasi di atas menunjukkan bahwa terdapat tiga larik satu dimensi, tetapi jumlah elemen dalam setiap larik satu dimensi tidak pasti, dan jumlah elemen dalam setiap larik satu dimensi dapat berbeda.
Tipe data elemen [][] Nama array = {{Elemen 1, Elemen 2,…}, {Elemen 1, Elemen 2,…},…};
int[][]arr={{1,2,3},{4,5},{6,7,8,9}};
Situasi di atas menyatakan bahwa ada 3 array satu dimensi. Array satu dimensi pertama memiliki 3 elemen, array satu dimensi kedua memiliki 2 elemen, dan array satu dimensi ketiga memiliki 4 elemen array satu dimensi bisa berbeda.
Ada dua format untuk mendeklarasikan array dua dimensi:
Nama array tipe elemen array[][];
Tipe elemen array[][] nama array;
Misalnya:
karakter[][];karakter[][]kucing;
Inisialisasi array dua dimensi sama dengan array berdimensi sama. Ada dua cara: inisialisasi dinamis dan inisialisasi statis.
1) Deklarasikan terlebih dahulu lalu inisialisasi secara statis
Tipe data elemen [][] nama array dua dimensi; nama array dua dimensi = tipe data elemen baru [][]{{elemen 1, elemen 2, elemen 3,...},{daftar nilai dalam baris kedua}, …,{Daftar nilai pada baris n}};
2) Inisialisasi statis saat mendeklarasikan
Tipe data elemen [][] Nama array dua dimensi = baru Tipe data elemen [][]{{Elemen 1, Elemen 2, Elemen 3,…},{Daftar nilai baris kedua},…,{nth daftar nilai baris }};
Catatan : Angka tidak bisa ditulis dalam "[][]" pada "tipe data elemen baru [][]" di sebelah kanan, karena jumlah baris dan kolom ditentukan oleh jumlah elemen dalam {}.
3) Metode penulisan inisialisasi statis yang disederhanakan pada saat deklarasi yang sama
Tipe data elemen [][] Nama array dua dimensi = {{elemen 1, elemen 2, elemen 3,…},{daftar nilai pada baris kedua},…,{daftar nilai pada baris ke-n}};
Misalnya:
publicclassMain{publicstaticvoidmain(String[]args){int[][]arr={{1,2,3},{4,5},{6}};//Tentukan array System.out.println(arr[0 ][0]);//1System.out.println(arr[1][0]);//4System.out.println(arr[2][0]);//6System.out.println(arr[ 0][1]);//2System.out.println(arr[1][1]);//5System.out.println(arr[2][1]);//Di luar batas}}
Pembuatan inisialisasi dinamis tidak perlu mendeklarasikan panjang array satu dimensi di dalamnya. Oleh karena itu, panjang setiap array satu dimensi dapat berbeda. Oleh karena itu, ada dua metode inisialisasi berikut.
1) Inisialisasi dinamis 1: Aturan tabel dua dimensi
Pemrogram menentukan panjang array dan menetapkan nilainya nanti. Pada awalnya, sistem akan memberikan nilai awal default elemen. Tabel dua dimensi biasa berarti jumlah kolom di setiap barisnya format umumnya adalah sebagai berikut. Tentukan terlebih dahulu jumlah baris dan jumlah kolomnya:
Tipe data elemen [][] Nama array dua dimensi = tipe data elemen baru [m][n];
Dimana m mewakili berapa banyak array satu dimensi yang ada dalam array dua dimensi ini, atau berapa banyak baris yang ada dalam tabel dua dimensi; n mewakili berapa banyak elemen yang ada dalam setiap array satu dimensi, atau berapa banyak sel di sana ada di setiap baris.
Pada titik ini, array dibuat, jumlah baris dan kolom ditentukan, dan elemen memiliki nilai default. Kemudian tetapkan nilai baru ke elemen:
Nama array dua dimensi[subskrip baris][subskrip kolom]=nilai;
Misalnya:
publicclassMain{publicstaticvoidmain(String[]args){int[][]arr=newint[3][2];/*Definisikan arr array dua dimensi. Array dua dimensi ini memiliki tiga elemen array satu dimensi -array dimensi Ada 2 elemen */System.out.println(arr);//Output nama array dua dimensi System.out.println(arr[0]);//Output nama elemen pertama dari array dua dimensi dan nama array satu dimensi System.out.println(arr[0][0]);//Output elemen array dua dimensi}}
2) Inisialisasi dinamis 2: tabel dua dimensi tidak beraturan
Tabel dua dimensi yang tidak beraturan berarti jumlah kolom pada setiap baris mungkin berbeda. Format umumnya adalah sebagai berikut:
Tipe data elemen [] [] Nama array dua dimensi = tipe data elemen baru [jumlah baris]];
Saat ini, hanya jumlah baris yang ditentukan, dan setiap baris sekarang nol. Kemudian jumlah kolom di setiap baris ditentukan, dan array satu dimensi dari setiap baris dibuat:
Nama array dua dimensi [subskrip baris] = tipe data elemen baru [jumlah total kolom dalam baris];
Pada saat ini, elemen baris yang meneruskan new memiliki nilai default, dan baris yang tidak meneruskan new tetap bernilai null.
Nama array dua dimensi[subskrip baris][subskrip kolom]=nilai;
Catatan : Tabel dua dimensi tidak beraturan, setelah deklarasi, tidak dapat disingkat saat menginisialisasi array satu dimensi internal.
//Tabel dua dimensi tak beraturan mendefinisikan array dua dimensi int[][]arr=newint[3][]; //3 baris, kolom tidak diketahui //Inisialisasi nilai elemen dalam array dua dimensi arr[0]= newint[ ]{1};//Ini tidak dapat disingkat arr[0]={1}arr[1]=newint[]{2,3};arr[2]=newint[]{4,5,6 };
Traversal array dua dimensi sama dengan array satu dimensi. Perbedaannya adalah pertama-tama diperlukan loop luar untuk melintasi setiap array satu dimensi.
for(inti=0;i<nama array dua dimensi.panjang;i++){for(intj=0;j<nama array dua dimensi[i].panjang;j++){System.out.print(dua dimensi nama array[ i][j]);}System.out.println();}