Java 14 で Records クラスを使用して自動比較と並べ替えを実装する方法
Java 14 では、Records クラスと呼ばれる新しいクラスが導入され、不変データ クラスを定義するための簡潔かつ強力な方法が提供されます。 Records クラスにはフィールドごとに getter メソッド、equals() メソッド、hashCode() メソッドを自動生成する機能があり、比較や並べ替えが非常に便利です。この記事では、Java 14 の Records クラスを使用して自動比較と並べ替えを実装する方法をサンプル コードを通じて示します。
最初のステップは、Records クラスを定義することです。学生クラスを例として、学生に名前、年齢、学年の 3 つのフィールドがあるとします。 Records クラスは次のように定義できます。
public record Student(String name, int age, double score) {}
この例では、record キーワードを使用して Student という名前の Records クラスを定義し、名前、年齢、スコアの 3 つのフィールドを指定します。 Records クラスのすべてのフィールドは、対応するゲッター メソッドを自動的に生成します。
次に、いくつかの Student オブジェクトを作成し、比較して並べ替えることができます。以下はサンプル コードです:
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); } } }
この例では、students という名前の List を作成します。これには 3 つの Student オブジェクトが含まれます。次に、Collections.sort() メソッドを使用して、このリストを並べ替えます。 Student クラスは Records クラスであるため、Comparable インターフェイスが自動的に実装されるため、このインターフェイスの CompareTo() メソッドを呼び出すことによって比較と並べ替えが実行されます。
最後に、学生リストを移動して、並べ替えられた結果を印刷できます。 Student クラスは toString() メソッドを自動的に生成するため、System.out.println() を直接使用して Student オブジェクトを出力できます。
出力結果は次のとおりです:
Student[name=Alice, age=20, score=85.0] Student[name=Bob, age=19, score=90.0] Student[name=Charlie, age=21, score=80.0]
ご覧のとおり、Student オブジェクトは成績に応じて高位から低位に並べ替えられています。
この例では、Java 14 の Records クラスを使用して自動比較と並べ替えを実装する方法を示します。 Records クラスは、不変データ クラスを定義する簡潔な方法を提供し、各フィールドのゲッター メソッド、equals() メソッド、および hashCode() メソッドを自動的に生成します。 Comparable インターフェイスを実装するだけで、自動比較と並べ替えを簡単に実行できます。これにより、Java プログラマはより効率的で便利な操作方法を利用できるようになります。
以上がJava 14 で Records クラスを使用して自動比較と並べ替えを行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。