Java에서 정렬을 위해 Comparator 사용
Java의 Comparator 인터페이스는 컬렉션 객체의 정렬 동작을 사용자 정의하기 위한 강력한 도구입니다. 기본 Comparable 인터페이스를 넘어 특정 기준에 따라 데이터를 쉽게 정렬할 수 있습니다.
Comparator 인터페이스 이해
Comparator 인터페이스는 단일 메소드인 비교( ), 두 개체를 가져와 정수를 반환합니다.
비교기 사용법
비교기를 사용하려면 컬렉션의 경우 Comparator의 인스턴스를 Collections.sort()와 같은 컬렉션 정렬 메서드에 대한 두 번째 인수로 전달하기만 하면 됩니다. 예를 들면 다음과 같습니다.
List<MyObject> myObjects = new ArrayList<>(); Collections.sort(myObjects, new MyComparator());
MyComparator가 Comparator
ClassCastException 해결
제공한 코드에서 "main" java.lang 스레드의 예외 .ClassCastException 오류는 People 클래스가 Comparable 대신 Comparator 인터페이스를 구현하기 때문에 발생합니다. 이 문제를 해결하려면 People 클래스에서 Implements Comparator 줄을 제거하세요.
정렬 논리를 처리하려면 별도의 Comparator 클래스를 만들어야 합니다. 예를 들어:
public class PeopleComparator implements Comparator<People> { @Override public int compare(People p1, People p2) { return p1.getId() - p2.getId(); } }
다음과 같이 사용하세요.
Collections.sort(peps, new PeopleComparator());
추가 참고 사항
위 내용은 사용자 정의 정렬을 위해 Java의 비교기 인터페이스를 어떻게 사용할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!