Deskripsi Java API tentang kelas array adalah: kelas ini berisi berbagai metode yang digunakan untuk memanipulasi array (seperti penyortiran dan pencarian).
1. Urutkan array tipe data dasar
menjelaskan:
(1) mengurutkan () di kelas array menggunakan "metode penyortiran cepat yang disetel";
(2) Misalnya, array tipe data dasar seperti int [], double [], char [], dll., Kelas array hanya menyediakan pengaturan pesanan naik default, dan tidak memberikan metode pengaturan pesanan descending yang sesuai.
(3) Untuk mengurutkan array tipe dasar dalam urutan menurun, Anda perlu mengubah array ini menjadi array kelas yang dienkapsulasi yang sesuai, seperti integer [], ganda [], karakter [], dll., Untuk mengurutkan array kelas ini. (Faktanya, lebih baik memilah urutan naik terlebih dahulu dan mengubahnya menjadi pesanan sendiri).
Urutkan array dalam urutan naik default
Fungsi prototipe: Sortir void statis (int [] a) Urutkan array int-type yang ditentukan dalam urutan naik.
static void sort (int [] a, int fromIndex, int toindex) Urutkan kisaran yang ditentukan dari array tipe int dalam angka naik.
Contoh kode:
Salinan kode adalah sebagai berikut:
impor java.util.arrays;
Public Class ArraysSort_11 {
public static void main (string args [])
{
int [] a = {1,4, -1,5,0};
Arrays.sort (a);
// Isi array a [] menjadi {-1,0,1,4,5}
untuk (int i = 0; i <a.length; i ++)
System.out.print (A [i]+"");
}
}
2. Urutkan data tipe data komposit
Fungsi Prototipe:
(1) Publik statis <T> void sort (t [] a, pembanding c) Urutkan array objek yang ditentukan sesuai dengan urutan yang dihasilkan oleh pembanding yang ditentukan.
(2) Public static <T> void sort (t [] a, int fromIndex, int toindex, pembanding c) Urutkan kisaran yang ditentukan dari array objek yang ditentukan sesuai dengan urutan yang dihasilkan oleh pembanding yang ditentukan.
Catatan: Kedua algoritma penyortiran ini adalah algoritma "penyortiran gabungan".
Contoh kode:
Salinan kode adalah sebagai berikut:
paket AA;
impor java.util.arrays;
impor java.util.comparator;
Arraysort kelas publik {
Titik [] arr;
Arraysort () {
ARR = titik baru [4]; // Tentukan array objek ARR dan alokasikan ruang penyimpanan
untuk (int i = 0; i <4; i ++)
arr [i] = new point ();
}
public static void main (string [] args) {
Arraysort sort = arraysort baru ();
sort.arr [0] .x = 2; sort.arr [0] .y = 1;
sort.arr [1] .x = 2; sort.arr [1] .y = 2;
sort.arr [2] .x = 1; sort.arr [2] .y = 2;
sort.arr [3] .x = 0; sort.arr [3] .y = 1;
Arrays.sort (sort.arr, myComprator baru ());
untuk (int i = 0; i <4; i ++) // hasil penyortiran output
System.out.println ("("+sort.arr [i] .x+","+sort.arr [i] .y+")");
}
}
titik kelas {
int x;
int y;
}
// Komparator, koordinat x diurutkan dari kecil ke besar;
kelas myComprator mengimplementasikan pembanding {
Public int Compare (objek arg0, objek arg1) {
Poin t1 = (titik) arg0;
Poin t2 = (titik) arg1;
if (t1.x! = t2.x)
return t1.x> t2.x? 1: -1;
kalau tidak
return t1.y> t2.y? 1: -1;
}
}