Java

[Java] Comparator 와 Comparable

quedevel 2021. 1. 23. 23:42
728x90
반응형

Arrays.sort()를 호출만 하면 컴퓨터가 알아서 배열을 정렬하는 것처럼 보이지만, 사실은 Comparable의 구현에 의해서 정렬되었던 것이다.

선언형태와 이름이 다를 뿐 두 객체를 비교한다는 같은 기능을 목적으로 고안된 것이다.

인터페이스

특징

Comparable

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

Comparator

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

 

순서를 고려해야 하는 값 클래스를 작성한다면 꼭 Comparable 인터페이스를 구현해야한다.

또한 compareTo 메서드에서 필드의 값을 비교할 때 < , > 연산자는 쓰지 말아야한다.

그 대신 박싱된 기본 타입 클래스가 제공하는 정적 compare 메서드나 Comparator 인터페이스가 제공하는 비교자 생성 메서드를 사용하자.

728x90
반응형