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) {}
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); } } }
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]
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!