ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • java comparable과 comparator
    카테고리 없음 2019. 2. 18. 02:32

     프로그래머스의 베스트 앨범 문제를 풀다가

     시간이 지나 풀이를 보았다. 풀이 방법은 바로 떠올랐으나 1년이 지나도 바닥에 머물고 있는 코딩실력이 붙잡고있다.

     풀이를 보며 이해가 안 간 것은 song 클래스를 만들고 compareTo  메소드를 통해 솔팅하는 것이었다.

     호출하는 곳도 없고, compareTo로 비교하는게 아닌 솔팅하는것이 이해가 안되었고, 한참을 찾다가 참고 블로그들을 통해 대략적으로 이해하게 되었다.


    이어서 작성


    comare() 은 Comparator 인터페이스 구현 메소드


    Comparable 인터페이스

    객체들 사이의 오름차순, 내림차순 등 일반적인 순서를 결정할  사용.

    compareTo() 는 comparable 인터페이스 구현 메소드이다.

    나아가보자


    A.compareTo(B) 에서


    A < B return 음수

    A == B return 0

    A > B return 양수


    여기서 기준 A.와 비교당할 B로 생각하면된다.



    Comparator 인터페이스

    일반적인 순서가 아닌 문자열 길이 등 사용자가 직접 순서의 규칙을 정하고 싶을 때 사용. 특히 부동 소수점 값을 비교할 때 관계연산자를 사용하면 compareTo()의 보편적 구현을 따르지 않기 때문에 이 인터페이스에는 compare()이 있다.


    int comapre(T o1, T o2)


    o1을 기준으로 리턴방식은 compareTo와 동일



    예제


    참고블로그

    http://www.nextree.co.kr/p11101/



    댓글

Designed by Tistory.