Rumah >Java >javaTutorial >Bagaimana untuk Mengisih Array dalam Susunan Terbalik di Jawa?

Bagaimana untuk Mengisih Array dalam Susunan Terbalik di Jawa?

DDD
DDDasal
2024-11-03 01:50:031010semak imbas

How to Sort an Array in Reverse Order in Java?

Isih Tatasusunan secara Songsang

Banyak bahasa pengaturcaraan menyediakan fungsi yang mudah untuk mengisih tatasusunan dalam tertib menaik. Walau bagaimanapun, persoalan timbul: Adakah terdapat pendekatan yang sama untuk mengisih tatasusunan dalam tertib menurun?

Kelas Tatasusunan Java

Di Java, kelas Tatasusunan menawarkan jenis() kaedah untuk menyusun tatasusunan. Walau bagaimanapun, kaedah ini tidak mempunyai sokongan langsung untuk tertib menurun. Satu pilihan ialah menggunakan Pembanding untuk mentakrifkan tertib terbalik elemen.

Menggunakan Pembanding

Arrays.sort() membolehkan anda menentukan Comparator untuk menentukan susunan menyusun. Kelas Collections menyediakan kaedah reverseOrder() untuk mencipta Comparator yang menyongsangkan susunan semula jadi.

Arrays.sort(a, Collections.reverseOrder());

Pendekatan ini berfungsi untuk mengisih tatasusunan objek, seperti tatasusunan Integer. Walau bagaimanapun, ia gagal untuk tatasusunan primitif, seperti tatasusunan int.

Alternatif untuk Tatasusunan Primitif

Untuk mengisih tatasusunan primitif dalam tertib menurun, seseorang mesti mengisihnya terlebih dahulu dalam menaik tertib menggunakan Arrays.sort() dan kemudian membalikkan secara manual elemen tatasusunan.

Arrays.sort(a);
for (int i = 0, j = a.length - 1; i < j; i++, j--) {
    int temp = a[i];
    a[i] = a[j];
    a[j] = temp;
}

Dengan menggunakan teknik ini, adalah mungkin untuk mengisih tatasusunan dalam tertib menurun, sama ada ia mengandungi objek atau primitif.

Atas ialah kandungan terperinci Bagaimana untuk Mengisih Array dalam Susunan Terbalik di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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