Rumah > Java > javaTutorial > Bagaimana untuk Mengisih Tatasusunan 2D di Jawa Menggunakan Arrays.sort dan Comparators?

Bagaimana untuk Mengisih Tatasusunan 2D di Jawa Menggunakan Arrays.sort dan Comparators?

Mary-Kate Olsen
Lepaskan: 2024-11-11 09:34:03
asal
204 orang telah melayarinya

How to Sort a 2D Array in Java Using Arrays.sort and Comparators?

Isih Tatasusunan 2D dalam Java Menggunakan Tatasusunan.isih

Satu cara untuk mengisih tatasusunan 2D berdasarkan nilai tanpa melaksanakan pengisihan anda sendiri algoritma adalah menggunakan Arrays#Sort(T[] a, Comparator c) yang terlebih beban kaedah.

double[][] array = {
        {1, 5},
        {13, 1.55},
        {12, 100.6},
        {12.1, .85}
};

java.util.Arrays.sort(array, new java.util.Comparator<double[]>() {
    public int compare(double[] a, double[] b) {
        return Double.compare(a[0], b[0]);
    }
});
Salin selepas log masuk

Kaedah ini mengambil Pembanding sebagai hujah kedua, membolehkan anda menentukan kriteria pengisihan anda sendiri. Dalam kes ini, Pembanding yang kami sediakan membandingkan elemen pertama setiap tatasusunan berganda[] dan mengembalikan integer yang menunjukkan sama ada ia kurang daripada, lebih besar daripada atau sama dengan 0.

Menggunakan Fungsi Lambda dalam Java 8

Java 8 memperkenalkan fungsi lambda, yang menyediakan cara ringkas untuk mentakrifkan Pembanding. Kita boleh menulis semula kod sebelumnya menggunakan fungsi lambda seperti berikut:

Arrays.sort(array, Comparator.comparingDouble(o -> o[0]));
Salin selepas log masuk

Fungsi lambda ini mengambil tatasusunan double[] sebagai inputnya dan mengembalikan nilai elemen pertama sebagai double. Dengan mengisih tatasusunan menggunakan Pembanding ini, kami mencapai hasil yang diingini.

Atas ialah kandungan terperinci Bagaimana untuk Mengisih Tatasusunan 2D di Jawa Menggunakan Arrays.sort dan Comparators?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan