Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 与方法相比,对列表进行排序_Java - Fatal编程技术网

Java 与方法相比,对列表进行排序

Java 与方法相比,对列表进行排序,java,Java,我有一个问题,我想对一个列表进行排序。 我想写一个compareTo方法,但我想把to变量赋给compareTo方法,如下所示 public int compareTo(Object object, LinkedList<Integer> list) { ... } public int compareTo(对象对象,链接列表){ ... } 有可能这样做吗? 感谢您的帮助否,您不能在可比界面中更改抽象方法的方法签名。在实现compariable接口时,您需要实现 int com

我有一个问题,我想对一个列表进行排序。 我想写一个compareTo方法,但我想把to变量赋给compareTo方法,如下所示

public int compareTo(Object object, LinkedList<Integer> list) {
...
}
public int compareTo(对象对象,链接列表){
...
}
有可能这样做吗?
感谢您的帮助

否,您不能在
可比
界面中更改抽象方法的方法签名。在实现
compariable
接口时,您需要实现

int compareTo(T o)

如果要使用内置排序函数,则必须使用可比较的接口


所以答案是否定的。如果你想访问一个额外的对象,不要把它作为类中的变量。

这不是合作者的作用吗

    List<Integer> list = new ArrayList<Integer>();
    Collections.sort(list, new Comparator<Integer>() {
        @Override
        public int compare(Integer o1, Integer o2) {
            return o1 - o2;
        }
    });
List List=new ArrayList();
Collections.sort(list,newcomparator(){
@凌驾
公共整数比较(整数o1,整数o2){
返回o1-o2;
}
});

您可以在同一类中使用
列表
实现
可比
接口:

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
    }


}
A类实现了可比性{
列表=新的ArrayList();
@凌驾
公共整数比较o(整数o){
返回compareTo(o,list);
}
私有整数比较(整数o,列表){
return…;//在此处进行比较
}
}

您可以使用override comparetto-方法和类中的变量as字段。哦,还有其他可能性吗?我建议您需要重新审视您的设计,看看您想做什么。问题是我需要另一个列表。我就是这样做的,但它不起作用。。。第二个列表在另一个类中填充,如果我想让第二个列表为空,为什么有两个方法?您可以在第一种方法中使用列表。当然可以。这只是为了证明所期望的可能性。