Rumah >Java >javaTutorial >Koleksi.reverseorder () di java dengan contoh

Koleksi.reverseorder () di java dengan contoh

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-02-07 11:26:32467semak imbas

Collections.reverseOrder() in Java with Examples

Kaedah

di Java menyediakan cara yang mudah untuk membalikkan pesanan semula jadi unsur -unsur dalam koleksi. Kaedah ini mengembalikan Collections.reverseOrder() yang mengenakan pesanan terbalik pada koleksi yang diberikan. Terdapat dua variasi: satu tanpa parameter dan seorang yang menerima Comparator yang sedia ada. Comparator

(tiada argumen) Collections.reverseOrder()

Versi ini mengembalikan

yang membalikkan pesanan semula jadi elemen. Ia menganggap unsur -unsur melaksanakan antara muka Comparator. Comparable

<code class="language-java">public static Comparator<object> reverseOrder()</object></code>

(dengan argumen) Collections.reverseOrder(Comparator<? super T> comp) Versi ini mengambil

(

) yang sedia ada sebagai input dan mengembalikan Comparator baru yang membalikkan pesanan yang ditakrifkan oleh input comp. Comparator Comparator

<code class="language-java">public static <t> Comparator<t> reverseOrder(Comparator<? super T> comp)</t></t></code>
Pertimbangan utama untuk menggunakan

s: Comparator Kaedah

    Kaedah:
  • kaedah mengambil dua objek sebagai input dan mengembalikan integer negatif, sifar, atau integer positif bergantung kepada sama ada objek pertama kurang daripada, sama dengan , atau lebih besar daripada objek kedua. Comparator Cukup membalikkan tanda hasil ini. compare reverseOrder()
  • Nilai pulangan:
  • Kaedah mengembalikan objek . Objek ini kemudian digunakan dengan kaedah penyortiran seperti reverseOrder() atau Comparator. Collections.sort() Arrays.sort()
algoritma (ilustrasi):

Logik teras di belakang

melibatkan pembalikan hasil perbandingan yang disediakan oleh pelaksanaan

yang mendasari atau dibekalkan Collections.reverseOrder(). Ini secara berkesan membalikkan urutan penyortiran. Comparable Comparator

Contoh sintaks:

Contoh 1: Menggunakan

dengan senarai bilangan bulat: reverseOrder()

<code class="language-java">List<integer> numbers = Arrays.asList(5, 2, 8, 1, 9);
Collections.sort(numbers, Collections.reverseOrder());
System.out.println(numbers); // Output: [9, 8, 5, 2, 1]</integer></code>
Contoh 2: Menggunakan

dengan komparator tersuai: reverseOrder() katakan kita mempunyai kelas

:

Student

kita boleh menyusun senarai objek
<code class="language-java">class Student implements Comparable<student> {
    String name;
    int age;

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    @Override
    public int compareTo(Student other) {
        return Integer.compare(this.age, other.age); // Compare by age
    }
}</student></code>
dalam urutan terbalik umur:

Student

<code class="language-java">List<student> students = Arrays.asList(new Student("Alice", 20), new Student("Bob", 25), new Student("Charlie", 18));
Collections.sort(students, Collections.reverseOrder());
for (Student s : students) {
    System.out.println(s.name + ": " + s.age);
}
// Output (order may vary slightly depending on JVM):
// Bob: 25
// Alice: 20
// Charlie: 18</student></code>
Contoh 3: Menggunakan

: reverseOrder(Comparator c)

Ringkasnya,
<code class="language-java">List<string> strings = Arrays.asList("apple", "banana", "orange");
Comparator<string> lengthComparator = Comparator.comparingInt(String::length);
Collections.sort(strings, Collections.reverseOrder(lengthComparator));
System.out.println(strings); // Output: [banana, orange, apple] (sorted by length in descending order)
</string></string></code>
menawarkan cara yang ringkas dan cekap untuk membalikkan susunan unsur -unsur dalam koleksi Java, menyesuaikan diri dengan kedua -dua pesanan semulajadi dan logik perbandingan tersuai.

Atas ialah kandungan terperinci Koleksi.reverseorder () di java dengan contoh. 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