int a1 = 3;
int a2 = 5;
a1.compareTo(a2)
작으면 음수
크면 양수 반환
1이 오름차순 ( natural ) , -1이 역순
@Override
public int compareTo(Student o) {
// if(this.grade < o.grade){
// return -1;
// }
// return 1;
return this.grade.compareTo(o.grade);
}
내께 더 크면 1
들어온 놈이 더 크면 -1
왼쪽 오른쪽으로 생각하지말고 tree로 생각
기존1
역순-1
로 외우기
기존 . compareTo ( 들어온놈 ) = 정방향
public class SS {
public static void main(String[] args) {
Comparator<Integer> comp = new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o2-o1;
}
};
Integer[] aa = new Integer[3];
aa[0]=1;
aa[1]=2;
aa[2]=3;
Arrays.sort(aa,comp);
for (Integer integer : aa) {
System.out.println(integer);
}
}
}
이건 o1-o2가 오름차순 ( 정방향 )
o2-o1가 내림차순 (역방향) 이라고 생각