Rumah > Java > javaTutorial > Cara menggunakan kelas Rekod dalam Java 14 untuk perbandingan dan pengisihan automatik

Cara menggunakan kelas Rekod dalam Java 14 untuk perbandingan dan pengisihan automatik

WBOY
Lepaskan: 2023-07-30 13:06:20
asal
1240 orang telah melayarinya

Cara menggunakan kelas Records dalam Java 14 untuk melaksanakan perbandingan dan pengisihan automatik

Java 14 memperkenalkan kelas baharu yang dipanggil kelas Records, yang memberikan kami cara ringkas dan berkuasa untuk menentukan kelas data tidak berubah . Kelas Records mempunyai ciri menjana kaedah getter secara automatik, kaedah equals() dan kaedah hashCode() untuk setiap medan, yang menjadikan perbandingan dan pengisihan sangat mudah. Dalam artikel ini, kami akan menunjukkan melalui kod contoh cara menggunakan kelas Rekod dalam Java 14 untuk melaksanakan perbandingan dan pengisihan automatik.

Langkah pertama ialah menentukan kelas Rekod. Mari kita ambil kelas pelajar sebagai contoh Katakan pelajar mempunyai tiga bidang: nama, umur dan gred. Anda boleh mentakrifkan kelas Rekod seperti berikut:

public record Student(String name, int age, double score) {}
Salin selepas log masuk

Dalam contoh ini, kami menggunakan kata kunci rekod untuk mentakrifkan kelas Rekod bernama Pelajar dan menentukan tiga medan: nama, umur dan skor. Semua medan kelas Rekod akan menjana kaedah pemeroleh yang sepadan secara automatik.

Seterusnya, kita boleh mencipta beberapa objek Pelajar, membandingkan dan menyusunnya. Berikut ialah contoh kod:

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        List<Student> students = new ArrayList<>();
        students.add(new Student("Alice", 20, 85.0));
        students.add(new Student("Bob", 19, 90.0));
        students.add(new Student("Charlie", 21, 80.0));

        // 自动比较和排序
        Collections.sort(students);

        for (Student student : students) {
            System.out.println(student);
        }
    }
}
Salin selepas log masuk

Dalam contoh ini, kami mencipta Senarai bernama pelajar, yang mengandungi tiga objek Pelajar. Kemudian, kami menggunakan kaedah Collections.sort() untuk mengisih Senarai ini. Memandangkan kelas Pelajar ialah kelas Rekod, ia secara automatik melaksanakan antara muka Sebanding, jadi perbandingan dan pengisihan dilakukan dengan memanggil kaedah compareTo() antara muka ini.

Akhir sekali, kita boleh mencetak keputusan yang disusun dengan menggelung senarai pelajar. Memandangkan kelas Pelajar menjana kaedah toString() secara automatik, kita boleh terus menggunakan System.out.println() untuk mencetak objek Pelajar.

Hasil output adalah seperti berikut:

Student[name=Alice, age=20, score=85.0]
Student[name=Bob, age=19, score=90.0]
Student[name=Charlie, age=21, score=80.0]
Salin selepas log masuk

Seperti yang kita dapat lihat, objek Pelajar telah disusun dari tinggi ke rendah mengikut gred mereka.

Dalam contoh ini, kami menunjukkan cara menggunakan kelas Rekod dalam Java 14 untuk melaksanakan perbandingan dan pengisihan automatik. Kelas Rekod memberi kami cara ringkas untuk mentakrifkan kelas data tidak berubah dan secara automatik menjana kaedah getter, kaedah equals() dan kaedah hashCode() untuk setiap medan. Dengan hanya melaksanakan antara muka Sebanding, kami boleh melakukan perbandingan dan pengisihan automatik dengan mudah. Ini menyediakan pengaturcara Java dengan cara operasi yang lebih cekap dan mudah.

Atas ialah kandungan terperinci Cara menggunakan kelas Rekod dalam Java 14 untuk perbandingan dan pengisihan automatik. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan