[java] Comparator 인터페이스의 사용법은?

Java에서 Comparator 인터페이스는 객체들의 순서를 정의하는 데 사용됩니다. 이를 통해 정렬되지 않은 객체들을 정렬할 수 있고, 객체들 간의 순서를 비교할 때 유연성을 제공합니다.

Comparator 인터페이스 예제

아래는 Comparator 인터페이스를 활용해 객체들을 비교하는 간단한 예제입니다.

import java.util.Comparator;

// 문자열 길이에 따라 정렬하는 Comparator
class StringLengthComparator implements Comparator<String> {
    @Override
    public int compare(String s1, String s2) {
        return s1.length() - s2.length();
    }
}

public class Main {
    public static void main(String[] args) {
        List<String> strings = new ArrayList<>();
        strings.add("apple");
        strings.add("pear");
        strings.add("banana");

        strings.sort(new StringLengthComparator());

        // 정렬된 결과 출력
        for (String str : strings) {
            System.out.println(str);
        }
    }
}

위의 예제에서는 StringLengthComparator 클래스가 Comparator 인터페이스를 구현하여 문자열의 길이에 따라 정렬하도록 정의되었습니다.

Comparator 인터페이스를 사용하면 다양한 비교 방법을 정의하여 객체를 유연하게 정렬할 수 있습니다. 내장된 정렬 방법으로는 제공하지 않는 기능을 사용하고 싶을 때 유용하게 활용할 수 있습니다.

참고 자료