Java - 문제 미리보기

문제 2408

easy
Comparator 인터페이스의 compare() 메서드가 반환해야 하는 값에 대한 설명으로 올바른 것은?
A. 항상 0 또는 1만 반환한다
B. 음수: 첫 번째 객체가 앞에, 양수: 두 번째 객체가 앞에, 0: 순서 상관없음
C. true 또는 false만 반환한다
D. 정렬할 객체의 개수를 반환한다

정답: B



Comparator의 compare() 메서드 반환값 규칙:

반환값의 의미:
⦁ 음수 (< 0): 첫 번째 객체가 두 번째 객체보다 작음 → 첫 번째 객체가 앞에 위치
⦁ 양수 (> 0): 첫 번째 객체가 두 번째 객체보다 큼 → 두 번째 객체가 앞에 위치
⦁ 0: 두 객체가 같음 → 순서 상관없음

실제 구현 예시:
```java
class SortByAge implements Comparator<Person> {
public int compare(Person p1, Person p2) {
if (p1.age < p2.age) return -1; // p1이 더 젊음 → p1이 앞에
if (p1.age > p2.age) return 1; // p1이 더 나이 많음 → p2가 앞에
return 0; // 나이가 같음 → 순서 무관
}
}
```

💡 학습 팁

이 문제를 포함한 Java 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.