CodeGym /Java Blog /Acak /Matriks di Java - Array 2D
John Squirrels
Level 41
San Francisco

Matriks di Java - Array 2D

Dipublikasikan di grup Acak

Apa itu Matrix / 2D Array di Jawa?

“Matriks adalah kumpulan bilangan yang disusun menjadi sejumlah baris dan kolom yang tetap.” Biasanya ini adalah bilangan real. Secara umum, matriks dapat berisi bilangan kompleks tetapi demi kesederhanaan, kami hanya akan menggunakan bilangan bulat di sini. Mari kita lihat seperti apa matriks itu. Berikut adalah contoh matriks dengan 4 baris dan 4 kolom.Matriks di Jawa - Array 2D - 2
Gambar 1: Matriks 4x4 sederhana
Untuk merepresentasikan matriks ini di Java, kita dapat menggunakan Array 2 Dimensi. Array 2D membutuhkan 2 dimensi, satu untuk baris dan satu untuk kolom. Misalnya, jika Anda menentukan array integer int arr[4][4] maka itu berarti matriks tersebut akan memiliki 4 baris dan 4 kolom. Atau bisa dibilang untuk setiap baris akan ada 4 kolom. Ukuran total / jumlah sel dalam matriks adalah baris*kolom = mxn = 4x4 = 16.Matriks di Jawa - Array 2D - 3
Gambar 2: Matriks[4][4] pada Gambar 1 direpresentasikan sebagai Array 2D di Jawa

Deklarasikan & Inisialisasi Array 2D

Berikut adalah beberapa cara berbeda untuk hanya mendeklarasikan ukuran array, atau menginisialisasinya tanpa menyebutkan ukurannya.

public class Matrices {

	public static void main(String[] args) {

		// declare & initialize 2D arrays for int and string
		int[][] matrix1 = new int[2][2];
		int matrix2[][] = new int[2][3];
           
           //the size of matrix3 will be 4x4
		int[][] matrix3 = { { 3, 2, 1, 7 }, 
					   { 9, 11, 5, 4 }, 
					   { 6, 0, 13, 17 }, 
					   { 7, 21, 14, 15 } };

		String[][] matrix4 = new String[2][2];

           //the size of matrix5 will be 2x3 
           // 3 cols because at max there are 3 columns
		String[][] matrix5 = { { "a", "lion", "meo" },  
				            { "jaguar", "hunt" } };
	}
}

Penjelajahan Larik 2D

Kita semua tahu cara melintasi array reguler di Jawa. Untuk array 2D juga tidak sulit. Kami biasanya menggunakan loop 'untuk' bersarang untuk ini. Beberapa pemula mungkin menganggapnya sebagai konsep asing, tetapi segera setelah Anda menggali lebih dalam, Anda akan dapat menerapkannya dengan beberapa latihan. Lihat cuplikan berikut. Itu hanya menampilkan jumlah kolom yang sesuai dengan setiap baris untuk pemahaman menyeluruh Anda.

public class MatrixTraversal {
	public static void main(String[] args) {

	    int[][] matrix = new int[4][4];
	    for (int i = 0; i < matrix.length; i++) 
	    {   
		 // length returns number of rows
		 System.out.print("row " + i + " : ");		
		 for (int j = 0; j < matrix[i].length; j++) 
		 { 
		    // here length returns # of columns corresponding to current row
		    System.out.print("col " + j + "  ");
		 }
	    System.out.println();
	   }
	}
}
Keluaran
baris 0 : kol 0 kol 1 kol 2 kol 3 baris 1 : kol 0 kol 1 kol 2 kol 3 baris 2 : kol 0 kol 1 kol 2 kol 3 baris 3 : kol 0 kol 1 kol 2 kol 3

Bagaimana cara Mencetak Array 2D di Java?

Setelah Anda terbiasa dengan traversal Array 2D, mari kita lihat beberapa cara untuk mencetak Array 2D di Java.

Menggunakan loop "untuk" Bersarang

Ini adalah cara paling dasar untuk mencetak matriks di Jawa.

public class MatrixTraversal {

    public static void printMatrix(int matrix[][])
    {
        for (int i = 0; i < matrix.length; i++) 
	  {   
	    // length returns number of rows		
	    for (int j = 0; j < matrix[i].length; j++) 
	    { 
	      // here length returns number of columns corresponding to current row
		// using tabs for equal spaces, looks better aligned
		// matrix[i][j] will return each element placed at row ‘i',column 'j'
		System.out.print( matrix[i][j]  + "\t"); 
	     }
	     System.out.println();
	   }
	}
	
	public static void main(String[] args) {

		int[][] matrix = { { 3, 2, 1, 7 }, 
					 { 9, 11, 5, 4 }, 
					 { 6, 0, 13, 17 }, 
					 { 7, 21, 14, 15 } };
		printMatrix(matrix);
	}
}
Keluaran
3 2 1 7 9 11 5 4 6 0 13 17 7 21 14 15

Menggunakan loop "untuk-setiap".

Berikut cara lain untuk mencetak array 2D di Java menggunakan “ foreach loop ”. Ini adalah jenis loop khusus yang disediakan oleh Java, di mana int[]baris akan mengulang setiap baris dalam matriks. Sedangkan variabel “element” akan memuat setiap elemen yang ditempatkan pada indeks kolom sepanjang baris.

public class MatrixTraversal {

	public static void printMatrix(int matrix[][]){
		for (int [] row : matrix) 
		{   
			// traverses through number of rows		
			for (int element : row) 
			{ 
				// 'element' has current element of row index
				System.out.print( element  + "\t"); 
			}
			System.out.println();
		}
	}
	
	public static void main(String[] args) {

		int[][] matrix = {  { 3, 2, 1, 7 }, 
					  { 9, 11, 5, 4 }, 
					  { 6, 0, 13, 17 }, 
					  { 7, 21, 14, 15 } };
		printMatrix(matrix);
	}
}
Keluaran
3 2 1 7 9 11 5 4 6 0 13 17 7 21 14 15

Menggunakan metode “Arays.toString()”.

Metode Arrays.toString() di Java, mengonversi setiap parameter yang diteruskan sebagai larik tunggal dan menggunakan metode bawaannya untuk mencetaknya. Kami telah membuat larik String 2D dummy untuk dimainkan. Metode yang sama juga berfungsi untuk array integer. Kami mendorong Anda untuk berlatih untuk latihan Anda.

import java.util.Arrays;
public class MatrixTraversal {
	public static void printMatrix(String matrix[][]){
	
		for (String[] row : matrix) {
			// convert each row to a String before printing
			System.out.println(Arrays.toString(row));
		}
	}
	
	public static void main(String[] args) {

		String [][] matrix = {  { "Hi, I am Karen" }, 
						{ "I'm new to Java"}, 
						{ "I love swimming" }, 
						{ "sometimes I play keyboard"} };
		printMatrix(matrix);
	}
}
Keluaran
[Hai, saya Karen] [Saya baru di Jawa] [Saya suka berenang] [terkadang saya bermain keyboard]

Penjelasan Kode

Pada iterasi pertama, String[]baris akan membaca “Hi, I am Karen” sebagai Array, mengubahnya menjadi String, lalu mencetaknya. Begitulah semua iterasi akan berlangsung. Utilitas yang disediakan di sini adalah Anda tidak perlu melacak indeks apa pun (i, j) atau loop bersarang.

Kesimpulan

Array 2D di Java adalah array multidimensi yang paling sederhana. Di akhir artikel ini, kami harap Anda tidak takut menggunakannya, lebih siap menyingsingkan lengan baju untuk pekerjaan serius. Anda dapat menjalankan semua kode contoh ini atau men-debug baris demi baris sesuai kenyamanan Anda. Namun pada akhirnya, kami ingin menyarankan (seperti biasa) bahwa keterampilan datang dengan latihan & kesabaran yang hebat. Semoga Anda mendapatkan pengalaman belajar yang menyenangkan dengan Array 2D di Jawa. Semoga beruntung!
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION