페이지

2016년 12월 18일 일요일

[Java] Comparator 와 Comparable

정렬 문제를 풀다가 찾은 건데 어떤 객체를 정렬 할 때 사용자가 원하는 조건을 가지고 비교를 할 때 사용 된다.

  • Comparable 과 Comparator
Comparable 과 Comparator는 둘 다 인터페이스로써 각각 

 int compareTo(Ojbect o)와 int compare(Object o1, Object o2)메소드를 갖고 있다. 

두 인터페이스의 차이라면 Comparable은 class를 구현 할 때 인터페이스를 implements해

compareTo메소드를 구현 하면 해당 Object를 sort할 때 해당 조건에 맞게 정렬한다는 것.

그러나 매번 조건이 바뀌게 된다면 일일이 바꾸기 힘들어진다.

그럴 때 사용 하는 것이 Comparator!!!

Comparator는 Collection에서 제공 하는 sort함수를 사용할때 

Collection.sort(Object[] o_list, new Comparator()){
      public int compare(Object o1, Object o2){
                  //sort 조건
    }
}

위와 같은 방법으로 사용 할 수 있다.
  


아래 코드는 금 은 동 메달에 대한 sort조건을 만든 것이다. 위와 같은 방법으로 sort가 가능하다 !!!




댓글 없음:

댓글 쓰기