Java 如何制作有序链表? public void sort1(){ 比较器byOrder=新比较器(){ 公共整数比较(OCell c1、OCell c2){ 返回c1.getData()

Java 如何制作有序链表? public void sort1(){ 比较器byOrder=新比较器(){ 公共整数比较(OCell c1、OCell c2){ 返回c1.getData(),java,linked-list,comparator,Java,Linked List,Comparator,这是我到目前为止提出的,但它不起作用。有什么帮助吗?比较器。compare方法必须返回一个整数,但您的表达式c1.getData()c2.getData()?1:(c1.getData()

这是我到目前为止提出的,但它不起作用。有什么帮助吗?

比较器。compare方法必须返回一个整数,但您的表达式
c1.getData()
是一个布尔表达式。您必须修复您的方法,可能如下所示:

 public void sort1(){
    Comparator<OCell> byOrder = new Comparator<OCell>(){

        public int compare(OCell c1, OCell c2){
            return c1.getData() < c2.getData();
        }
    };
    Collections.sort(list, byOrder);
    print();
}
static OLinkedList<Integer> list = new OLinkedList<Integer>();
c1.getData()>c2.getData()?1:(c1.getData()
Comparator.compare
方法必须返回整数,但表达式
c1.getData()
是布尔表达式。您必须修复您的方法,可能如下所示:

 public void sort1(){
    Comparator<OCell> byOrder = new Comparator<OCell>(){

        public int compare(OCell c1, OCell c2){
            return c1.getData() < c2.getData();
        }
    };
    Collections.sort(list, byOrder);
    print();
}
static OLinkedList<Integer> list = new OLinkedList<Integer>();
c1.getData()>c2.getData()?1:(c1.getData()
您需要更好地解释您的任务。您想对列表进行排序并打印,还是在将条目放入列表时对其进行排序?您需要更好地解释您的任务。您想对列表进行排序和打印,还是在将条目放入列表时对其进行排序?如果这些只是整数,您最好使用内置的
Integer.compare()
method@fge说得好。假设它是JDK 7,因为我认为这个方法以前不存在。如果这些只是整数,那么您最好使用内置的
Integer.compare()
method@fge说得好。假设它是JDK 7,因为我认为这个方法以前不存在。