기본데이터 타입과 String은 Sorting 할때 compareTo메서드를 오버라이딩 안해도 되지만,
그 외에는 반드시 compareTo() 메서드를 오버라이딩 해야한다.
ex.
package collection2_gradeSort
public class Grade implements Comparable<Grade>{ //Comparable 인터페이스는compareTo()라는메소드를가진다.
int number;
String grade;
public Grade(int number, String grade) {
this.number = number;
this.grade = grade;
}
public String toString() {
return grade;
}
@Override
public int compareTo(Grade g) { //객체를 서로 비교하기 위한 메서드이다.
// TODO Auto-generated method stub
return grade.compareTo(g.grade);
}
}
또한 기본데이터 타입과 String은 equal 할때 equals()를 오버라이딩 안해도 되지만
그 외에는 반드시 equals() 메서드를 오버라이딩 해서 사용해야한다.
ex.
public boolean equals(Object obj) {
if(obj instanceof Person) {
Person tmp = (Person)obj;
return name.equals(tmp.name);
}
return false;
}
public int hashCode() {
return name.hashCode();
}
'비트교육센터[전문가반]' 카테고리의 다른 글
선형 자료 구조 _ 연접 리스트(배열) (0) | 2021.02.15 |
---|---|
테트리스 (2인용) (0) | 2021.02.15 |
Comparable<T> 인터페이스 (0) | 2021.02.05 |
HashMap 데이터 입력, 출력 (0) | 2021.02.05 |
HashSet에서 중복 데이터 처리(equals()) (0) | 2021.02.05 |