Developer MJ Story

[Java] Comparator를 이용해 정렬 Sort 본문

Software/Java

[Java] Comparator를 이용해 정렬 Sort

집근처 2017. 6. 28. 15:11
반응형



안녕하세요. 집근처 개발자 입니다.


오늘은 Collections Sort 방법에 대해 알아 보겠습니다.

Collections는 Java에서 제공하는 기본 API로 List관련 다양한 API가 있습니다.

그 중에서 sort 정렬 방법에 대해서 알아 보곗습니다.


아래 예제 코드 입니다.

Data Class를 만들고 Data Class안에 Comparator Sort를 아래와 같이 구현합니다.

아래 Comparator는 score기반으로 오름차순으로 정렬하는 예제 입니다.

내림 차순의 경우 부등호 방향을 반대로 하거나, return 값을 1을 -1로, -1을 1로 변경하면 됩니다.

public static Comparator<Data> SORT = new Comparator<Data>() {
        @Override
        public int compare(Data o1, Data o2) {
            if(o1.getScore() > o2.getScore())
                return 1;
            else if (o1.getScore() < o2.getScore())
                return -1;
            return 0;
        }
    }

사용 방법은 아래와 같습니다.

Comparator를 Data class안에 static으로 구현해 두었기때문에 아래와 같이 Data class를 참조하여 구현할 수 있습니다.

Collections.sort(mDataList, Data.SORT); 

간단하지만 매우 편리한 Java의 sort 방법에 대해서 알아 보았습니다.

다른 sort 방법도 있지만, 나만의 방식 한가지를 정해서 사용하는 것이 나중에 code readable, 구현 속도 향상에 큰 도움이 됩니다.

감사합니다.


반응형