ventulus95   5년 전

저는  모든 문자를 중복확인하고 ArrayList로  comparator를 이용해서 정렬하는 방식으로 코드를 구현해보았는데요! 

궁금한게 list를 통해서 하면 런타임에러가 나는데요? 무슨 원인때문에 에러가 발생하는건가요?

다른 코드를 보니까 hashset를 쓰고 list를 쓸때는 맞는 것 같더라구요. 

초기값을 잡아서도 해보고 했는데 오류가 발생하는 원인이 궁금하네요!

참고로 정답을 넣을때는 package와 class명을 변경해서 넣습니다.

djm03178   5년 전

자바의 sort의 정확한 구현은 모르지만 정렬 함수가 잘못되었기 때문에 경우에 따라서는 sort 함수가 예외를 발생시킬 수 있어 보입니다.

과연 길이가 같을 때 첫 번째 문자끼리만 비교하면 사전순 정렬이 될까요?

https://ideone.com/jqNeSr

첫 번째 글자 이후로 다른 경우 compare(x,y)와 compare(y,x) 모두가 -1을 반환하는데 이는 x<y 이고 y<x라는 의미이기 때문에 올바르지 않은 비교 함수가 됩니다.

ventulus95   5년 전

28번째 else if고치고 compareTo로 해결했습니다! 친절한답변 너무 감사드립니다. ㅠㅠ

댓글을 작성하려면 로그인해야 합니다.