CompareTo方法,对列表进行排序

时间:2014-02-23 13:49:09

标签: java

我有一个问题,我想对列表进行排序。 我想写一个compareTo方法,但是我想将变量赋予compareTo方法,就像这样

public int compareTo(Object object, LinkedList<Integer> list) {
...
}

可以这样做吗? 谢谢你的帮助

4 个答案:

答案 0 :(得分:1)

不,您无法在Comparable界面中更改抽象方法的方法签名。在实现Comparable接口时,您需要实现

int compareTo(T o)

答案 1 :(得分:0)

如果要在排序函数中使用构建,则必须使用Comparable接口。

所以答案是否定的。如果你想要访问一个额外的目标,那就把它作为一个变量在类中。

答案 2 :(得分:0)

这不是合作者的目的吗?

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

答案 3 :(得分:0)

您可以在同一个类中使用List实现Comparable接口:

class A implements Comparable<Integer> {

    List<Integer> list = new ArrayList<Integer>();
    @Override
    public int compareTo(Integer o) {
       return compareTo(o, list);
    }

    private int compareTo(Integer o, List<Integer> list) {
        return ...; // Your comparison here
    }


}