倒数排序做比较过程中出错(java)


Collections.sort(vector, new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return 1/o2-1/o1;
            }
        });

运行结果怎么不对

这个方法不是这么用的,你需要用if进行判断,然后返回-1、0、1三种,如果返回-1,则是小于;如果返回0,则是等于;如果返回1,则是大于。


 
Collections.sort(vector, new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return o2-o1;
            }
        });