Sorting

ims·2021년 4월 2일
0

NEW 알고리즘

목록 보기
9/14

Comparable

int a1 = 3;
int a2 = 5;

a1.compareTo(a2)

작으면 음수
크면 양수 반환
  • Comparable 상속받았을 때

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 ( 들어온놈 ) = 정방향

Comparator

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가 내림차순 (역방향) 이라고 생각

profile
티스토리로 이사했습니다! https://imsfromseoul.tistory.com/ + https://camel-man-ims.tistory.com/

0개의 댓글