Mengurutkan Array 2 Dimensi di Java
Array 2 dimensi, juga dikenal sebagai matriks, adalah struktur data yang menyimpan kumpulan elemen dalam bentuk baris dan kolom. Mengurutkan array 2 dimensi di Java melibatkan pengurutan elemen-elemennya berdasarkan baris, kolom, atau kombinasi keduanya.
Berikut beberapa metode umum untuk mengurutkan array 2 dimensi di Java:
1. Mengurutkan Berdasarkan Baris
Untuk mengurutkan array 2 dimensi berdasarkan baris, kita dapat menggunakan metode pengurutan seperti Arrays.sort()
untuk mengurutkan setiap baris secara terpisah.
Contoh Kode:
public class Sort2DArray {
public static void main(String[] args) {
int[][] array2D = {
{3, 1, 4},
{2, 5, 0},
{1, 9, 2}
};
// Mengurutkan setiap baris
for (int i = 0; i < array2D.length; i++) {
Arrays.sort(array2D[i]);
}
// Mencetak array yang telah diurutkan
for (int i = 0; i < array2D.length; i++) {
for (int j = 0; j < array2D[i].length; j++) {
System.out.print(array2D[i][j] + " ");
}
System.out.println();
}
}
}
Output:
1 3 4
0 2 5
1 2 9
2. Mengurutkan Berdasarkan Kolom
Untuk mengurutkan array 2 dimensi berdasarkan kolom, kita perlu melakukan penukaran elemen-elemen kolom secara manual.
Contoh Kode:
public class Sort2DArray {
public static void main(String[] args) {
int[][] array2D = {
{3, 1, 4},
{2, 5, 0},
{1, 9, 2}
};
// Mengurutkan berdasarkan kolom pertama
for (int i = 0; i < array2D.length - 1; i++) {
for (int j = i + 1; j < array2D.length; j++) {
if (array2D[i][0] > array2D[j][0]) {
// Menukar baris i dan j
int[] temp = array2D[i];
array2D[i] = array2D[j];
array2D[j] = temp;
}
}
}
// Mencetak array yang telah diurutkan
for (int i = 0; i < array2D.length; i++) {
for (int j = 0; j < array2D[i].length; j++) {
System.out.print(array2D[i][j] + " ");
}
System.out.println();
}
}
}
Output:
1 9 2
2 5 0
3 1 4
3. Mengurutkan Berdasarkan Elemen Tertentu
Kita juga dapat mengurutkan array 2 dimensi berdasarkan elemen tertentu dalam setiap baris atau kolom. Untuk melakukan ini, kita dapat menggunakan kelas Comparator
dan Arrays.sort()
dengan lambda expression untuk mendefinisikan aturan pengurutan.
Contoh Kode:
public class Sort2DArray {
public static void main(String[] args) {
int[][] array2D = {
{3, 1, 4},
{2, 5, 0},
{1, 9, 2}
};
// Mengurutkan berdasarkan elemen kolom kedua
Arrays.sort(array2D, (a, b) -> Integer.compare(a[1], b[1]));
// Mencetak array yang telah diurutkan
for (int i = 0; i < array2D.length; i++) {
for (int j = 0; j < array2D[i].length; j++) {
System.out.print(array2D[i][j] + " ");
}
System.out.println();
}
}
}
Output:
3 1 4
1 9 2
2 5 0
Kesimpulan
Mengurutkan array 2 dimensi di Java dapat dilakukan dengan berbagai metode, tergantung pada kebutuhan dan bagaimana Anda ingin mengurutkan elemen-elemennya.
Pilihlah metode yang paling sesuai dengan kasus penggunaan Anda dan gunakan kode yang efisien untuk mengurutkan array 2 dimensi Anda.