Comparable vs Comparator(간단한 정리)

980 단어 JavaJava

Comparable

  • 객체간의 일반적인 정렬이 필요할 때
  • 기준 1가지를 가지고 그에 대한 정렬을 하고 싶을 때
  • compareTo() 메서드를 구현한다.
  • 비교대상 객체 내부에 생성하므로 compareTo 매개변수 하나
  • Default, 오름차순 기준
  • Integer, Double 클래스 : 오름차순 정렬 / String 클래스: 사전순
public interface Comparable<T>{
	public int compareTo(T o);
}

Comparator

  • 객체간의 특정한 정렬이 필요할 때
  • Comparable과 다르게 사용자 정의조건, 즉 요구상항에서 주어진 특정 기준을 가지고 정렬
    ex) 학점이 같다면 이름순으로 정렬
  • compare() 메서드를 구현
  • 비교대상 객체 외부에 생성하므로 compare 매개변수 둘
public interface Comparator<T>{
	int compare(T o1, T o2);
}

좋은 웹페이지 즐겨찾기