Rumah  >  Artikel  >  Java  >  Bagaimana untuk Mengisih Array dalam Susunan Menurun di Jawa?

Bagaimana untuk Mengisih Array dalam Susunan Menurun di Jawa?

DDD
DDDasal
2024-11-02 15:19:02159semak imbas

How to Sort an Array in Descending Order in Java?

Mengisih Tatasusunan dalam Susunan Menurun dalam Java

Di Jawa, kelas Arrays menyediakan kaedah isihan untuk menaik menyusun susunan tatasusunan. Walau bagaimanapun, jika timbul keperluan untuk memesan tatasusunan dalam tertib menurun, cara "MUDAH" ialah menggunakan kaedah isih bersama-sama dengan Collections.reverseOrder() pembanding.

Kod berikut menggambarkan pendekatan ini:

<code class="java">Integer[] numbers = {5, 2, 8, 3, 1};

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

System.out.println(Arrays.toString(numbers)); // Output: [8, 5, 3, 2, 1]</code>

Di sini, Collections.reverseOrder() menyediakan pembanding yang membalikkan susunan semula jadi unsur, menyusun tatasusunan dengan berkesan dalam tertib menurun. Kaedah ini sesuai untuk mengisih tatasusunan objek.

Untuk tatasusunan primitif (cth., tatasusunan int), kaedah Arrays.sort() sahaja tidak boleh digunakan secara langsung untuk pengisihan tertib menurun. Percubaan untuk menggunakan isih dengan Collections.reverseOrder() pada tatasusunan primitif akan mengakibatkan ralat.

Penyelesaian untuk tatasusunan primitif ialah dengan dahulu susun tatasusunan dalam tertib menaik menggunakan kaedah isih dan kemudian terbalikkan tatasusunan di tempatnya menggunakan kaedah terbalikkan.

Di sini ialah contoh:

<code class="java">int[] numbers = {5, 2, 8, 3, 1};

Arrays.sort(numbers);
ArrayUtils.reverse(numbers);

System.out.println(Arrays.toString(numbers)); // Output: [8, 5, 3, 2, 1]</code>

Pendekatan ini boleh digunakan pada tatasusunan primitif satu dimensi dan dua dimensi.

Atas ialah kandungan terperinci Bagaimana untuk Mengisih Array dalam Susunan Menurun 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