1riberty   1년 전

아래 코드와 같이 comparable을 implement하고 compareTo를 오버라이딩 이후 정렬하였습니다.

그렇지만, 정렬이 제가 원하는 방식으로 정렬이 진행되지 않아서 어쩔 수 없이 comparator를 구현하여 정렬하여서 문제를 해결하였습니다.

혹시, comparable과 comparator가 동작방식에서 차이가 있어서 제가 원하는 로직으로 정렬이 안된 것인가요?

/////////////////질문자리///////////////////
@Override
public int compareTo(Info o) {
if (this.freq == o.freq) {
return (this.idx - o.idx);
}
return -(this.freq - o.freq);
}
//////////////////////////////////////////

무엇때문에 제가 원하는 방식으로 정렬이 안되는 것인지 알 수 있을까요?

djm03178   1년 전

Collections.sort는 그저 List<Integer>를 정렬할 뿐입니다. 이것만 가지고 이 리스트를 사실은 freqMap를 이용해서 정렬하고 싶다는 걸 어떻게 알 수 있을까요?

1riberty   1년 전

감사합니다.

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