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]); } });
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]));
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!