자바에서 Comparator는 객체의 정렬 순서를 정의하기 위해 사용되는 인터페이스입니다.
public class Main {
public static void main(String[] args) {
List<Person> people = new ArrayList<>();
people.add(new Person("Alice", 30));
people.add(new Person("Bob", 25));
people.add(new Person("Charlie", 35));
// 나이순으로 정렬
Comparator<Person> ageComparator = new Comparator<Person>() {
@Override
public int compare(Person p1, Person p2) {
return Integer.compare(p1.getAge(), p2.getAge());
}
};
Collections.sort(people, ageComparator);
// 정렬된 리스트 출력
for (Person person : people) {
System.out.println(person);
}
}
}
- Person 클래스
- name과 age 속성을 가지는 간단한 클래스입니다.
- Comparator 구현
- ageComparator는 Person 객체를 나이 순으로 정렬하는 Comparator를 익명 클래스로 정의합니다.
- 정렬
- Collections.sort(people, ageComparator)를 사용하여 리스트를 나이 순으로 정렬합니다.
Share article