Rumah > Java > javaTutorial > Bagaimana untuk Mengisih Senarai Objek mengikut Pelbagai Medan di Jawa?

Bagaimana untuk Mengisih Senarai Objek mengikut Pelbagai Medan di Jawa?

Linda Hamilton
Lepaskan: 2024-12-15 11:12:11
asal
843 orang telah melayarinya

How to Sort a List of Objects by Multiple Fields in Java?

Mengisih Objek mengikut Pelbagai Medan dalam Java

Mengisih data mengikut berbilang medan ialah operasi biasa dalam pengaturcaraan. Soalan ini meneroka cara mengisih tatasusunan objek orang mengikut abjad mengikut nama dan kemudian mengikut umur.

Menggunakan Collections.sort untuk Isih Pelbagai Medan

Untuk mencapai matlamat ini, kita boleh memanfaatkan kaedah Collections.sort, yang membenarkan pengisihan tersuai berdasarkan Comparator yang disediakan. Pembanding menentukan cara dua objek harus dibandingkan, membolehkan kami mentakrifkan strategi pengisihan berbilang medan.

private static void order(List<Person> persons) {

    Collections.sort(persons, new Comparator() {

        public int compare(Object o1, Object o2) {

            String x1 = ((Person) o1).getName();
            String x2 = ((Person) o2).getName();
            int sComp = x1.compareTo(x2);

            if (sComp != 0) {
               return sComp;
            } 

            Integer x1 = ((Person) o1).getAge();
            Integer x2 = ((Person) o2).getAge();
            return x1.compareTo(x2);
    }});
}
Salin selepas log masuk

Dalam kod ini, kaedah bandingkan terlebih dahulu membandingkan nama objek dua orang (x1 dan x2 ). Jika ia berbeza, ia mengembalikan hasil kaedah String.compareTo, yang menunjukkan rentetan yang lebih besar dari segi leksikografi. Jika nama adalah sama, ia meneruskan untuk membandingkan umur (x1 dan x2) menggunakan kaedah compareTo untuk objek Integer.

Dengan menggunakan strategi Comparator ini, kaedah Collections.sort akan mengisih senarai objek orang mengikut abjad mengikut nama, dan jika nama itu sama, ia akan menyusunnya mengikut umur.

Atas ialah kandungan terperinci Bagaimana untuk Mengisih Senarai Objek mengikut Pelbagai Medan di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan