코드가 이해가 되지 않아요ㅠㅠ 해석부탁드려요!!
알고리즘 문제에 대한 코드가 이해가 안돼요ㅠ
먼저 문제는,
2차원 평면 위의 점 N개가 주어진다. 좌표를 x좌표가 증가하는 순으로, x좌표가 같으면 y좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을 작성하시오.
이거구요 아래에 해당 코드가 있어요!
이 코드에서 line34와 36이 이해가 되지 않아요.. 저 배열안에는 어떤값이 저장되는 건가요? 디버깅을 했더니 알수없는 주소값들이 저장돼 있어서 해석이 안돼요.. 그리고 line 36에서 그리고 위에서 compareTo 함수가 있는데 왜 또 sort로 또 정렬해주는 건가요?ㅠㅠ 그냥 코드 전체를 설명해주시면 감사하겠어요ㅠㅠ
부탁드려요ㅠㅠ 이 문제때문에 진도를 나가지 못하고 있습니당...ㅠㅠ
제가 코드를 잘 이해하지 못해서 설명을 충분히 드리지 못할 것 같아 죄송합니다만,
Comparable 인터페이스로 구현한 compareTo()는 순서를 정렬하기 위해 어떤 기준으로 비교할 것인지에 대한 로직을 정의하는 메소드입니다.
그리고 실제 정렬은 Arrays.sort(..) 를 실행하는 순간 compareTo()의 로직대로 실행됩니다.
아래 링크가 해석에 참고가 되길 바라겠습니다.
http://www.codejava.net/java-core/collections/sorting-arrays-examples-with-comparable-and-comparator