【发布时间】:2016-12-06 05:42:39
【问题描述】:
由于某种原因,我的比较器没有被我的树集接受。请帮忙?
树集类:
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 的比较器来完成什么,但这会导致问题。
-
我在回答中添加了一条注释,解释了为什么这不是一个有效的比较器。
标签: java constructor integer comparator treeset