Java 14의 Records 클래스를 사용하여 자동 비교 및 정렬을 구현하는 방법
Java 14에는 불변 데이터 클래스를 정의하는 간결하고 강력한 방법을 제공하는 Records 클래스라는 새로운 클래스가 도입되었습니다. Records 클래스에는 각 필드에 대해 getter 메소드, equals() 메소드, hashCode() 메소드를 자동으로 생성하는 기능이 있어 비교 및 정렬이 매우 편리합니다. 이 기사에서는 샘플 코드를 통해 Java 14의 Records 클래스를 사용하여 자동 비교 및 정렬을 구현하는 방법을 보여줍니다.
첫 번째 단계는 Records 클래스를 정의하는 것입니다. 학생 클래스를 예로 들어 보겠습니다. 학생에게 이름, 나이, 학년이라는 세 가지 필드가 있다고 가정해 보겠습니다. 다음과 같이 Records 클래스를 정의할 수 있습니다.
public record Student(String name, int age, double score) {}
이 예에서는 Record 키워드를 사용하여 Student라는 Records 클래스를 정의하고 이름, 나이 및 점수라는 세 가지 필드를 지정합니다. Records 클래스의 모든 필드는 해당 getter 메소드를 자동으로 생성합니다.
다음으로 학생 개체를 만들고 비교하고 정렬할 수 있습니다. 다음은 샘플 코드입니다.
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); } } }
이 예에서는 세 개의 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 클래스는 불변 데이터 클래스를 정의하는 간결한 방법을 제공하고 각 필드에 대해 getter 메서드, equals() 메서드 및 hashCode() 메서드를 자동으로 생성합니다. Comparable 인터페이스를 구현하기만 하면 자동 비교 및 정렬을 쉽게 수행할 수 있습니다. 이는 Java 프로그래머에게 보다 효율적이고 편리한 작업 방법을 제공합니다.
위 내용은 자동 비교 및 정렬을 위해 Java 14의 Records 클래스를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!