이것저것/Java

[Java] Comparator 사용해서 사용자 정의로 배열 정렬하기

Im_Hayden 2024. 11. 6. 15:31

사용 예시

Arrays.sort(arr, new Comparator<String>(){
            @Override
            public int compare(String s1, String s2){
                if (s1.length() > s2.length())  return 1;
                else if (s1.length() < s2.length()) return -1;
                else    return s1.compareTo(s2);
            }
        });

설명

  • sort() 함수에 Comparator 객체를 인자로 전달
  • 여기서 Comparatorcompare() 함수를 재정의
  • compare() 함수는 2개의 값을 인자로 받으며, 아래와 같은 리턴값을 가진다.
    • 앞의 인자값이 먼저 정렬되는 경우: 1(양수)
    • 뒤의 인자값이 먼저 정렬되는 경우: -1(음수)
    • 둘의 정렬 순서가 같은 경우: 0