@Override
public int compare(Object o1, Object o2) {
Student snum1 = ((Student)o1);
Student snum2 = ((Student)o2);
if(snum1.getNum() > snum2.getNum()){
return 1; //순차정렬
}else if(snum1.getNum() == snum2.getNum()){
return 0;
}else{
return -1;
}
}
compare메서드의 두인자간의 비교결과에서 첫번째 결과값이 두번째 결과값보다 클 경우, 1을 리턴하면 순차정렬을 하고, -1을 리턴하면 역순으로 정렬을 한다.
문자열의 정렬을 구현할 경우 (기준:사전적정의에서의 순서), compareTo메서드를 구현한다.
@Override
public int compare(Object o1, Object o2) {
String sc1 = ((Student)o1).getName();
String sc2 = ((Student)o2).getName();
return sc2.compareTo(sc1); //역순, 순차정렬인 경우, sc1.compareTo(sc2)
}
댓글 없음 :
댓글 쓰기