어떤 이유인지 내 비교자가 내 트리 집합에 허용되지 않습니다. 도와주세요?Java Treeset : "생성자를 해결할 수 없다"(비교 자용)
TreeSet의 클래스 :
public class PQTreeQueue<Integer> extends AbstractQueue<Integer>{
private TreeSet<Integer> _pqTree;
public PQTreeQueue() {
noZeroComparator noZero = new noZeroComparator();
_pqTree = new TreeSet<Integer>(noZero);
}
비교기 클래스 (다른 파일에 정의)
public class noZeroComparator implements Comparator<Integer> {
@Override
public int compare(Integer e0, Integer e1) {
if (e0.compareTo(e1) >= 0) {
return -1;
} else {
return 1;
}
}
참고 : 0을 반환하지 않는 비교기는 유효한 비교자가 아닙니다. 난 당신이 0을 결코 돌려주지 않는 비교자를 써서 당신이 달성하는 것을 시도하고있는 무슨을 모른다, 그러나 문제를 일으킬 것이다. – ajb
이것이 올바른 비교자가 아닌 이유를 설명하는 메모에 답변을 추가했습니다. – ajb