@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) }
댓글 없음 :
댓글 쓰기