Heim >Java >javaLernprogramm >So verwenden Sie die Records-Klasse in Java 14 für den automatischen Vergleich und die Sortierung

So verwenden Sie die Records-Klasse in Java 14 für den automatischen Vergleich und die Sortierung

WBOY
WBOYOriginal
2023-07-30 13:06:201254Durchsuche

So verwenden Sie die Records-Klasse in Java 14, um automatischen Vergleich und Sortierung zu implementieren

Java 14 führt eine neue Klasse namens Records-Klasse ein, die uns eine prägnante und leistungsstarke Möglichkeit bietet, unveränderliche Datenklassen zu definieren. Die Records-Klasse verfügt über die Funktion, automatisch Getter-Methoden, equal()-Methoden und hashCode()-Methoden für jedes Feld zu generieren, was den Vergleich und die Sortierung sehr bequem macht. In diesem Artikel demonstrieren wir anhand von Beispielcode, wie die Records-Klasse in Java 14 verwendet wird, um einen automatischen Vergleich und eine automatische Sortierung zu implementieren.

Der erste Schritt besteht darin, eine Records-Klasse zu definieren. Nehmen wir als Beispiel die Schülerklasse. Angenommen, ein Schüler hat drei Felder: Name, Alter und Noten. Sie können eine Records-Klasse wie folgt definieren:

public record Student(String name, int age, double score) {}

In diesem Beispiel verwenden wir das Schlüsselwort „record“, um eine Records-Klasse namens „Student“ zu definieren und drei Felder anzugeben: Name, Alter und Punktzahl. Alle Felder der Records-Klasse generieren automatisch entsprechende Getter-Methoden.

Als nächstes können wir einige Student-Objekte erstellen, vergleichen und sortieren. Hier ist ein Beispielcode:

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);
        }
    }
}

In diesem Beispiel erstellen wir eine Liste mit dem Namen „students“, die drei Student-Objekte enthält. Dann verwenden wir die Methode Collections.sort(), um diese Liste zu sortieren. Da es sich bei der Student-Klasse um eine Records-Klasse handelt, implementiert sie automatisch die Comparable-Schnittstelle, sodass Vergleiche und Sortierungen durch Aufrufen der Methode „compareTo()“ dieser Schnittstelle durchgeführt werden.

Schließlich können wir die sortierten Ergebnisse ausdrucken, indem wir die Schülerliste durchgehen. Da die Student-Klasse automatisch die toString()-Methode generiert, können wir System.out.println() direkt zum Drucken des Student-Objekts verwenden.

Das Ausgabeergebnis lautet wie folgt:

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

Wie wir sehen können, wurden die Student-Objekte entsprechend ihrer Noten von hoch nach niedrig sortiert.

In diesem Beispiel zeigen wir, wie man die Records-Klasse in Java 14 verwendet, um einen automatischen Vergleich und eine automatische Sortierung zu implementieren. Die Records-Klasse bietet uns eine übersichtliche Möglichkeit, unveränderliche Datenklassen zu definieren und generiert automatisch Getter-Methoden, equal()-Methoden und hashCode()-Methoden für jedes Feld. Durch die einfache Implementierung der Comparable-Schnittstelle können wir problemlos automatische Vergleiche und Sortierungen durchführen. Dies bietet Java-Programmierern eine effizientere und komfortablere Arbeitsweise.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie die Records-Klasse in Java 14 für den automatischen Vergleich und die Sortierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn