Comparator, Comparable

지윤·2021년 2월 11일
0

Java

목록 보기
14/21

객체 정렬에 필요한 메서드(정렬기준 제공)를 정의한 인터페이스 2가지

Comparable - 기본 정렬기준을 구현하는데 사용

public interface Comparable {
	int compareTo(Object o); //this(자신)과 o(주어진 객체)를 비교
}
  • Java에서 제공되는 정렬이 가능한 클래스들(Integer 등)은 모두 Comparable 인터페이스를 구현하고 있으며, 정렬 시에 이에 맞게 정렬이 수행된다.

Comparator - 기본 정렬기준 외에 다른 기준으로 정렬하고자 할 때 사용

public interface Comparator {
	int compare(Object o1, Object o2); //o1, o2 두 객체를 비교
}

compare()과 compareTo()는 비교 결과를 반환하는데 같으면 0, 오른쪽이 크면 음수, 작으면 양수를 반환한다.

예시로 Arrays의 sort()를 사용할 때를 들 수 있다.

//a 객체 배열에 저장된 객체가 구현한 comparable에 의한 정렬
static void sort(Object[] a) 

//지정한 Comparable c에 의한 정렬
static void sort(Object[] a, Comparator c) 

참고
https://gmlwjd9405.github.io/2018/09/06/java-comparable-and-comparator.html

profile
헬로🙋‍♀️

0개의 댓글

관련 채용 정보