Maison > Java > javaDidacticiel > le corps du texte

Comment utiliser la classe Records en Java 14 pour la comparaison et le tri automatiques

WBOY
Libérer: 2023-07-30 13:06:20
original
1214 Les gens l'ont consulté

Comment utiliser la classe Records dans Java 14 pour implémenter la comparaison et le tri automatiques

Java 14 introduit une nouvelle classe appelée classe Records, qui nous offre un moyen concis et puissant de définir des classes de données immuables. La classe Records a la fonctionnalité de générer automatiquement des méthodes getter, des méthodes equals() et des méthodes hashCode() pour chaque champ, ce qui rend la comparaison et le tri très pratiques. Dans cet article, nous montrerons, à l'aide d'un exemple de code, comment utiliser la classe Records dans Java 14 pour implémenter la comparaison et le tri automatiques.

La première étape consiste à définir une classe Records. Prenons l'exemple de la classe d'élèves. Supposons qu'un élève dispose de trois champs : nom, âge et notes. Vous pouvez définir une classe Records comme suit :

public record Student(String name, int age, double score) {}
Copier après la connexion

Dans cet exemple, nous utilisons le mot-clé record pour définir une classe Records nommée Student et spécifions trois champs : nom, âge et score. Tous les champs de la classe Records généreront automatiquement les méthodes getter correspondantes.

Ensuite, nous pouvons créer des objets Étudiant, les comparer et les trier. Voici un exemple de code :

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);
        }
    }
}
Copier après la connexion

Dans cet exemple, nous créons une liste nommée étudiants, qui contient trois objets Student. Ensuite, nous utilisons la méthode Collections.sort() pour trier cette liste. Puisque la classe Student est une classe Records, elle implémente automatiquement l'interface Comparable, donc la comparaison et le tri sont effectués en appelant la méthode compareTo() de cette interface.

Enfin, nous pouvons imprimer les résultats triés en parcourant la liste des étudiants. Puisque la classe Student génère automatiquement la méthode toString(), nous pouvons directement utiliser System.out.println() pour imprimer l'objet Student.

Le résultat de sortie est le suivant :

Student[name=Alice, age=20, score=85.0]
Student[name=Bob, age=19, score=90.0]
Student[name=Charlie, age=21, score=80.0]
Copier après la connexion

Comme nous pouvons le voir, les objets Étudiant ont été triés du haut au bas en fonction de leurs notes.

Dans cet exemple, nous montrons comment utiliser la classe Records en Java 14 pour implémenter la comparaison et le tri automatiques. La classe Records nous fournit un moyen concis de définir des classes de données immuables et génère automatiquement des méthodes getter, des méthodes equals() et des méthodes hashCode() pour chaque champ. En implémentant simplement l'interface Comparable, nous pouvons facilement effectuer une comparaison et un tri automatiques. Cela offre aux programmeurs Java un mode de fonctionnement plus efficace et plus pratique.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal