Comparable
- 객체를 비교 할 수 있도록 하기 위한
인터페이스
compareTo(T o)
메소드 하나가 선언되어 있는 인터페이스
자기 자신
과 매개변수
로 들어오는 객체를 비교
- 반환형 : int
- 양수: 비교 기준이 더 큰 경우
- 0: 자신과 같은 경우
- 음수: 비교 기준이 더 작은 경우
public class Member implements Comparable<Member> {
private int memberId;
private String memberName;
public Member() {}
public Member(int memberId, String memberName) {
this.memberId = memberId;
this.memberName = memberName;
}
@Override
public int compareTo(Member member) {
return this.memberId - member.memberId;
}
}
Comparator
- 객체를 비교할 수 있도록 하는
인터페이스
compare(T o1, T o2)
메소드 하나가 선언되어 있는 인터페이스
- 자기 자신이 아닌, 매개변수로 들어오는 객체
o1
과 o2
를 비교
- 보통은 Comparable을 많이 사용하지만, 이미 Comparable이 구현된 경우 Comparator로 비교하는 방식을 다시 구현할 수 있음
public class Member implements Comparator<Member>{
private int memberId;
private String memberName;
public Member() {}
public Member(int memberId, String memberName) {
this.memberId = memberId;
this.memberName = memberName;
}
@Override
public int compare(Member member1, Member member2) {
return (member1.memberId - member2.memberId);
}