>  기사  >  Java  >  Java에서 여러 필드가 있는 개체 목록을 정렬하는 방법은 무엇입니까?

Java에서 여러 필드가 있는 개체 목록을 정렬하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-04 08:20:30915검색

How to Sort Lists of Objects with Multiple Fields in Java?

여러 필드가 있는 객체 목록 정렬:

제공된 초기 정렬 코드에서 비교의 필드 연결 정렬을 위해 필드를 분리하기가 어렵습니다. 이 문제를 해결하려면 필드 사이에 공백을 추가하는 것이 좋습니다. 또는 다음 대안을 탐색할 수 있습니다.

Java 8 Lambda 사용:

Collections.sort(reportList, Comparator.comparing(Report::getReportKey)

    .thenComparing(Report::getStudentNumber)
    .thenComparing(Report::getSchool));

반사 메서드: BeanComparator:

ComparatorChain 체인 = new ComparatorChain(Arrays.asList(
new BeanComparator) ("크기"),
new BeanComparator("nrOfToppings"),
new BeanComparator("이름")));

Collections.sort(피자, 체인)

Guava의 ComparisonChain:

Collections.sort(pizzas, new Comparator() {

@Override  
public int compare(Pizza p1, Pizza p2) {  
    return ComparisonChain.start().compare(p1.size, p2.size).compare(p1.nrOfToppings, p2.nrOfToppings).compare(p1.name, p2.name).result();  
}  

})

Apache Commons CompareToBuilder:

Collections.sort(pizzas, new Comparator() {

@Override  
public int compare(Pizza p1, Pizza p2) {  
    return new CompareToBuilder().append(p1.size, p2.size).append(p1.nrOfToppings, p2.nrOfToppings).append(p1.name, p2.name).toComparison();  
}  

} );

위 내용은 Java에서 여러 필드가 있는 개체 목록을 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.