2d Array Sort Java

4 min read Jun 22, 2024
2d Array Sort Java

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.

Related Post


Latest Posts


Featured Posts