비교기 예제
2 agosto, 2019롤노, 이름, 나이 등 모든 데이터 멤버를 기준으로 요소를 정렬할 수 있는 여러 정렬 시퀀스를 제공합니다. 1. 우리는 comaparator를 구현하 고 이름의 기지에서 정렬 하려는 경우에 comapreTo 메서드를 재정의 해야 합니까. 2. 위에서 언급 한 예에서 당신은 당신이 ID를 기준으로 정렬하는 comapreTo ()에 정의를 제공했습니다. 그러나 이름에 따라 정렬하는 동안 여전히 comapreTo () 메서드를 호출합니다. 그렇다면, 우리는 우리가 이미 비교가있는 경우 왜 비교를 사용하는 자신을 물어봐야한다? 예를 들어, elpmoyees 개체 목록의 경우, 자연 순서는 직원 ID에 의해 주문될 수 있습니다. 그러나 실제 응용 프로그램에서는 직원 목록을 이름, 생년월일 또는 단순히 다른 기준으로 정렬 할 수 있습니다. 이러한 조건에서, 우리는 비교기 인터페이스를 사용해야합니다. 정렬의 고급 주제를 이해하려면 Java 8 비교기, Java 8 람다와의 비교와 같은 다른 기사를 확인하십시오. 위에서 언급했듯이 비교자 인터페이스를 구현하는 클래스는 compare() 메서드를 재정의해야 합니다. 이 특정 예제에서는 객체 o1, o2를 반대로 성적 정렬순서로 정렬합니다. 이름을 비교하기 위해 int compareTo (String anotherString) 메서드를 사용했습니다.
비교자 인터페이스 비교 (Object o1, Object o2) 메서드는 두 개의 개체 인수를 취하는 구현되어야하며 첫 번째 인수가 두 번째 인수보다 작은 경우 음수 int를 반환하고 같으면 0을 반환하는 방식으로 구현되어야합니다. 첫 번째 인수가 두 번째 인수보다 큰 경우 양수 int입니다. Java 예제는 여러 필드(예: 필드별로)의 직원 목록을 정렬합니다. 비교자 인터페이스의 비교(Object o1, Object o2) 메서드는 두 개체를 비교하고 비교에 따라 정수를 반환하는 이 목적을 위해 구현되어야 합니다. 0, o1이 o2와 같으면; o1이 o1 보다 적으면 음수입니다. 마지막 자습서에서는 비교 가능한 인터페이스를 사용하여 사용자 지정 클래스의 개체를 정렬하는 방법을 설명했습니다.